cuitao42


私信TA

用户名:dotcpp0634607

访问量:497

签 名:

等  级
排  名 170
经  验 6976
参赛次数 0
文章发表 18
年  龄 10
在职情况 学生
学  校
专  业

  自我简介:

1.解题思路

先把每个从10000~999999的数都查一遍,输出和为n且是回文数的。

确定回文数的方法:有一个数,例如t=i=1331,把末位放到num的末尾,当t小于1时停止。

(1331,0)->(133,1)->(13,13)->(1,133)->(0,1331)是

(123,0)->(12,3)->(1,32)->(0,321)否

2.答题思路

#include<iostream>
using namespace std;
int main(){
    int n,flag=1;
    cin>>n;
    for(int i=10000;i<1000000;i++){
        int t=i,num=0,sum=0;
        while(t>0){
            num=num*10+t%10;
            sum+=t%10;
            t/=10;
        }
        if(num==i&&sum==n){
            flag=0;
            cout<<i<<endl;
        }
    }
    if(flag) cout<<-1;
    return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »