我只能得20分

P1980 [NOIP2013 普及组] 计数问题

这是为啥,求大神指导
by xiaoyangmiemie @ 2024-02-03 21:00:47


```cpp #include <bits/stdc++.h> using namespace std; int main() { long long a,b,c=0,d[10000],e[10000],ans=2,an = 2; cin >>a>>b; for(int i = 1;i <= a;i++){ d[i]=i; } for(int i = 1;i <= a;i++){ if(d[i]>9){//从这开始有问题 不需要分两种情况讨论 while(ans > 1){ ans = d[i]/10; an = d[i]%10; if(ans == b){//这里对同一个数会反复判断 c++; } if(an == b){ c++; } } ans = 2; } else{//这里可以去掉 if(d[i]==b){ c++; } } } cout<<c; return 0; } ```
by wjc20230920 @ 2024-02-03 21:24:17


//AC代码 ```cpp #include <bits/stdc++.h> using namespace std; int main() { long long a,b,c=0,d[10000],ans,an; cin >>a>>b; for(int i = 1;i <= a;i++){ d[i]=i; } for(int i = 1;i <= a;i++){ ans=i; while(ans!=0){ an =ans%10; ans=ans/10; if(an == b){ c++; } } } cout<<c; return 0; } ```
by wjc20230920 @ 2024-02-03 21:25:01


谢谢大佬
by xiaoyangmiemie @ 2024-03-02 10:54:17


|