只有70分,2,5,8报错,麻烦帮忙看看

P1980 [NOIP2013 普及组] 计数问题

@[Zzz123456789101112](/user/1292265) hack组 10 0 你的程序输出是10; 关键问题就是那个判断个位是否含有x那步出错了,这个应该很简单解决你,改一下就可以ac了,希望可以帮到你
by sll00 @ 2024-03-03 19:03:15


@[sll00](/user/1243869) 具体应该怎样改呢?是在Judge()函数中进行改正还是主函数中啊
by Zzz123456789101112 @ 2024-03-03 19:13:51


@[Zzz123456789101112](/user/1292265) 本着让你好看点,好理解点的模式,在你的原代码上改 ```cpp #include<iostream> using namespace std; void Judge(int a,int x,int *i){ if(a%10==x){ (*i)++; } int b=(a-a%10)/10; //这里加个= if(b>=10){ Judge(b,x,i); } if(b==x){ (*i)++; } } int main(){ int n,x,i; cin>>n>>x; for(int a=1;a<=n;a++){ if(a==x){ i++; continue; } //这里 else if(a>=10) Judge(a,x,&i); } cout<<i; return 0; } ``` 修改的点全在这里面了, ~~~~给个关注吧qwq~~~~
by sll00 @ 2024-03-03 19:40:37


@[sll00](/user/1243869) 通过啦,谢谢啦
by Zzz123456789101112 @ 2024-03-05 19:01:04


|