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语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:599 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1300 |
DNA (C语言代码)浏览:540 |
有关字符,字符串的输入输出函数说明浏览:479 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1159 |
1035 题解浏览:781 |
剪刀石头布 (C语言代码)浏览:1434 |
简单的a+b (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:800 |
A+B for Input-Output Practice (II) (C语言代码)浏览:601 |