基础练习-特殊回文数

这道题感觉自己写的太复杂了,以至于错了一个地方改了好几遍才弄对。现在先把代码贴上吧。

#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;
}

之后我再学习下别人的方法,写个代码少的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。