蒟蒻求助qwq,跪求大佬看看

P1151 子数整数

求救
by Ihoek @ 2023-08-05 23:36:53


# 错误点 ``` #include<bits/stdc++.h> using namespace std; int a[5]; //改为a[6] int main(){ int k,sum=5,sub1,sub2,sub3,ans=10000;//ans? 没用可以删掉 //bool flag=false flag:是否有符合条件的数,没有输出No cin>>k; a[1]=1; for(int i=10000;i<=30000;i++){ a[sum]++; //改为a[5]++ for(sum=5;sum!=0;sum--){ //改为(sum=5;sum>0;sum--) if(a[sum]==5){ //改为a[sum]>=10 a[sum]=0; a[sum-1]++; } sub1=a[1]*100+a[2]*10+a[3]; sub2=a[2]*100+a[3]*10+a[4]; sub3=a[3]*100+a[4]*10+a[5]; if(sub1%k==0||sub2%k==0||sub3%k==0){//把 || 都改为 && (审题) cout<<a[1]*10000+a[2]*1000+a[3]*100+a[4]*10+a[5]; } } /*sub1=a[1]*100+a[2]*10+a[3];//上面挪到这里 sub2=a[2]*100+a[3]*10+a[4]; sub3=a[3]*100+a[4]*10+a[5]; if(sub1%k==0||sub2%k==0||sub3%k==0){//把 || 都改为 && (审题) cout<<a[1]*10000+a[2]*1000+a[3]*100+a[4]*10+a[5]; }*/ } /*if(!flag){如果没有(false)输出No cout<<"No"; }*/ return 0; } ``` # 正确代码(建议先理解再抄) ``` #include<bits/stdc++.h> using namespace std; int a[6]; int main(){ int k,sum=5,sub1,sub2,sub3; bool flag=false; cin>>k; a[1]=1; for(int i=10000;i<=30000;i++){ a[5]++; for(sum=5;sum>0;sum--){ if(a[sum]>=10){ a[sum]-=10; a[sum-1]++; } } sub1=a[1]*100+a[2]*10+a[3]; sub2=a[2]*100+a[3]*10+a[4]; sub3=a[3]*100+a[4]*10+a[5]; if(sub1%k==0&&sub2%k==0&&sub3%k==0){ cout<<a[1]*10000+a[2]*1000+a[3]*100+a[4]*10+a[5]<<endl; } } if(!flag){ cout<<"No"; } return 0; } ```
by fuziyu1005 @ 2023-08-06 17:46:47


@[fuziyu1005](/user/980879) 感谢带佬(喜)懂力
by Ihoek @ 2023-08-10 13:38:44


|