特殊的数字
【AC代码】:
#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int i = 0; for (i = 100; i <= 999; i++) { int n = i, sum = 0; while (n) { int a = n%10; n = n/10; sum += a*a*a; } if (i == sum) cout << i << endl; } }
回文数
【AC代码】:注意等号。
#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int i = 0; for (i = 1000; i <= 9999; i++) { int n = i, p = 0, f[4]; while (n) { f[p++] = n%10; n = n/10; } if (f[0] == f[3] && f[1] == f[2]) cout << i << endl; } }
特殊回文数
【AC代码】:注意等号。
#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int getSum(int x) { int sum = 0; while (x) { sum += x%10; x = x/10; } return sum; } int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int m = 0, i = 0; cin >> m; for (i = 10000; i <= 99999; i++) { int n = i, p = 0, f[5]; while (n) { f[p++] = n%10; n = n/10; } if (f[0] == f[4] && f[1] == f[3] && m == getSum(i)) cout << i << endl; } for (i = 100000; i <= 999999; i++) { int n = i, p = 0, f[6]; while (n) { f[p++] = n%10; n = n/10; } if (f[0] == f[5] && f[1] == f[4] && f[2] == f[3] && m == getSum(i)) cout << i << endl; } }
蓝桥杯 BASIC-7~9 特殊的数字、回文数、特殊的回文数
原文地址:http://blog.csdn.net/weijj6608/article/details/44182513