20分,大佬帮忙

P1151 子数整数

没加换行```cpp #include<bits/stdc++.h> using namespace std; int s1(int a) { int v=a; int d=a; int sum=0; sum=(a/100)%10+(d/1000)%10*10+(v/10000)*100; return sum; } int s2(int b) { int v=b; int d=b; int sum=0; sum=(b/10)%10+(d/100)%10*10+(v/1000)%10*100; return sum; } int s3(int c) { int v=c; int d=c; int sum=0; sum=c%10+(d/10)%10*10+(v/100)%10*100; return sum; } int main() { int k; cin>>k; for(int i=10000;i<=30000;i++) { if(s1(i)%k==0&&s2(i)%k==0&&s3(i)%k==0) { cout<<i<<endl; } } } ```
by msedgedev @ 2022-09-29 12:47:01


@[xiaochangyu](/user/792613) 首先,你忘记换行了,其次,题目中说了,如果无解,则输出“No”。这两个你都忘了。
by Marshall001 @ 2022-09-29 12:47:10


没加换行和NO ```cpp #include<bits/stdc++.h> using namespace std; bool scp=0; int s1(int a) { int v=a; int d=a; int sum=0; sum=(a/100)%10+(d/1000)%10*10+(v/10000)*100; return sum; } int s2(int b) { int v=b; int d=b; int sum=0; sum=(b/10)%10+(d/100)%10*10+(v/1000)%10*100; return sum; } int s3(int c) { int v=c; int d=c; int sum=0; sum=c%10+(d/10)%10*10+(v/100)%10*100; return sum; } int main() { int k; cin>>k; for(int i=10000;i<=30000;i++) { if(s1(i)%k==0&&s2(i)%k==0&&s3(i)%k==0) { cout<<i<<endl; scp=1; } } if(scp==0) printf("No"); } ```
by msedgedev @ 2022-09-29 12:49:56


谢谢大佬
by xiaochangyu @ 2022-09-29 12:52:36


```cpp #include<bits/stdc++.h> using namespace std; int main() { bool d=1; int a=10000,k,a1,a2,a3; cin>>k; while(a<=30000) { a1=a/100; a2=(a/10)%1000; a3=a%1000; if(((a1%k)==(a2%k))&&((a2%k)==(a3%k))&&((a3%k)==0)) { d=0; cout<<a<<endl; } a++; } if(d)cout<<"No"; return 0; }
by miaowu_ @ 2022-09-29 12:54:32


|