解题思路:
暴力破解法,从10001开始,到999999.看有没有加起来和是输入的数并且又是回文符的。
判断回文: 把整数各个数字存放到数组里面,弄i指向数组头,j指向数组尾部,看头和尾是否相同,不同直接退出,返回0, 相同,指针一个后移,一个前移,再比较,重复上述步骤。
注意事项:
看清题目要求,之前第一次提交显示答案错误,才发现没有时忘了处理了,所以没有时,要输出-1
参考代码:
#include <iostream>
using namespace std;
int Sum(int num)
{
int sum = 0;
while (num!=0)
{
sum += num%10;
num /=10;
}
return sum;
}
int IsHuiWen(int num)
{
int a[6];
int cou = 0;
while (num!=0)
{
a[cou++] = num%10; //存到数组中
num /=10;
}
for (int i=0,j=cou-1; i<j; i++,j--)
{
if (a[i]!=a[j])
return 0;
}
return 1;
}
int main()
{
int n;
cin >> n;
int flag = 0;
for (int i=10001; i<=999999; i++)
{
if (Sum(i)==n && IsHuiWen(i))
{
cout << i << endl;
flag = 1;
}
}
if (!flag)
cout << -1;
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:1207 |
大神老白 (C语言代码)浏览:715 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:566 |
震宇大神的杀毒软件 (C++代码)浏览:1118 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:542 |
打水问题 (C语言代码)浏览:1072 |
字符串比较 (C语言代码)答案错误????浏览:597 |
【亲和数】 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1162 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1341 |