自己的垃圾思路
#include<bits/stdc++.h>
using namespace std;
#define ll long long
//使用stringstream可以完成string和其他类型的互转且不需要C++11
string Int_to_String(int n)
{
stringstream stream;
stream<<n;
return stream.str();
}
int main() {
int n,sum;
cin>>n;
for(int i=10000;i<999999;i++){
int temp=i;
sum=0;
while(temp!=0){
sum += temp%10;
temp /= 10;
}
if(sum==n){
string str=Int_to_String(i);
string rev_str=str;
reverse(str.begin(),str.end());
if(str==rev_str)
cout<<i<<endl;
}
}
return 0;
}
网上的思路,这个想法可以用在暴力枚举整数所有位的题目中
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
for (int i1 = 1; i1 <= 9; i1++)
for (int i2 = 0; i2 <= 9; i2++)
for (int i3 = 0; i3 <= 9; i3++) {
if ((i1 + i2 + i3 + i2 + i1) == n)
cout << i1 << i2 << i3 << i2 << i1 << endl;
}
for (int i1 = 1; i1 <= 9; i1++)
for (int i2 = 0; i2 <= 9; i2++)
for (int i3 = 0; i3 <= 9; i3++) {
if ((i1 + i2 + i3 + i3 + i2 + i1) == n)
cout << i1 << i2 << i3 << i3 << i2 << i1 << endl;
}
return 0;
}