解题思路:
暴力破解法,从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.1 (Java代码)浏览:481 |
【计算球体积】 (C语言代码)浏览:1158 |
a+b浏览:452 |
1014题解浏览:524 |
Hello, world! (C语言代码)浏览:766 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
有关字符,字符串的输入输出函数说明浏览:498 |
图形输出 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1542 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:532 |