2002: 聽說很簡單

湯米先生發表於2020-11-28

2002: 聽說很簡單

1.描述

觀察數字:12321,123321都有一個共同的特徵,無論從左到右讀還是從右到左讀,都是
相同的。這樣的數字叫做:迴文數字。
本題要求你找出一些5位或6位的十進位制數字。滿足如下要求:
該數字的各個數位之和等於輸入的整數。
輸入
一個正整數n(10<n<100),表示要求滿足的數位和。
輸出
若干行,每行包含一個滿足要求的5位或6位整數。
數字按從小到大的順序排列。
如果沒有滿足條件的,輸出:-1

樣例輸入
44
樣例輸出
99899
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499

2.程式碼

#include<stdio.h>
#include<math.h>
int main()
{
    long long int n,m,i,j,t=0,f=0;
    scanf("%lld",&n);
    for(i=10000;i<1000000;i++)
    {
        t=0;
        int x=i;
        while(x)
        {
            t+=(x%10);
            x=x/10;
        }
        if(i>=10000&&i<100000&&t==n)
        {
           if(i%10==i/10000&&(i/10)%10==(i/1000)%10)
           {
               printf("%lld\n",i);
               f=1;
           }
        }
        if(i>=100000&&i<1000000&&t==n)
        {
            if(i%10==i/100000&&(i/10)%10==(i/10000)%10&&(i/100)%10==(i/1000)%10)
            {
                printf("%lld\n",i);
                f=1;
            }
        }
    }
    if(f==0)
    {
        printf("-1");
    }
    return 0;
}

相關文章