1.解题思路
先把每个从10000~999999的数都查一遍,输出和为n且是回文数的。
确定回文数的方法:有一个数,例如t=i=1331,把末位放到num的末尾,当t小于1时停止。
(1331,0)->(133,1)->(13,13)->(1,133)->(0,1331)是
(123,0)->(12,3)->(1,32)->(0,321)否
2.答题思路
#include<iostream> using namespace std; int main(){ int n,flag=1; cin>>n; for(int i=10000;i<1000000;i++){ int t=i,num=0,sum=0; while(t>0){ num=num*10+t%10; sum+=t%10; t/=10; } if(num==i&&sum==n){ flag=0; cout<<i<<endl; } } if(flag) cout<<-1; return 0; }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:698 |
C语言程序设计教程(第三版)课后习题9.4 (Java代码)浏览:1446 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1555 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1071 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:737 |
printf基础练习2 (有点不明白)浏览:887 |
printf基础练习2 (C语言代码)浏览:690 |
1025题解浏览:796 |
【亲和数】 (C语言代码)浏览:628 |
拆分位数 (C语言代码)浏览:464 |