解题思路:
暴力破解法,从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语言代码)浏览:728 |
C语言训练-排序问题<1> (C语言代码)浏览:599 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:780 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:738 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:879 |
A+B for Input-Output Practice (V) (C语言代码)浏览:459 |
1126题解浏览:578 |
Tom数 (C语言代码)浏览:492 |
IP判断 (C语言代码)浏览:533 |
时间转换 (C语言代码)浏览:624 |