这道题感觉自己写的太复杂了,以至于错了一个地方改了好几遍才弄对。现在先把代码贴上吧。
#include <stdio.h>
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==0 && j==0)continue;
if(i==0 && j>0){
for(int k = 0;k<10;k++){
int s = n-2*j-2*k;
if(0<=s && s<10){
cout<<j<<k<<s<<k<<j<<endl;
}
}
}
else{
if(n%2){
int s =n-2*i-2*j;
if(s==0)
cout<<i<<j<<s<<s<<j<<i<<endl;
else
continue;
}
else{
int s = n/2-i-j;
if(0<=s && s<10){
cout<<i<<j<<s<<s<<j<<i<<endl;
}
}
}
}
}
return 0;
}
之后我再学习下别人的方法,写个代码少的。