1. 题目 1977: 求中间数

题目描述:从键盘输入三个整数到变量a,b,c,输出其中中间大小的数。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

    int a,b,c,mid;

    scanf("%d %d %d", &a,&b,&c);

    if(a>b)

    mid=(a>c)?((b>c)?b:c):a;

    if(a<b)

    mid=(b>c)?((a>c)?a:c):b;

    printf("%d",mid);

    return 0;

}

2. 题目 1011: [编程入门]最大公约数与最小公倍数

题目描述:输入两个正整数m和n,求其最大公约数和最小公倍数。

(1)源程序清单如下。

#include <iostream>

using namespace std;

int main() {

    int m, n;

    cin >> m >> n;

    int a = m, b = n;

    while (b != 0) {

        int temp = b;

        b = a % b;

        a = temp;

    }

    int gcd = a; 

    int lcm = m * n / gcd;

    cout << gcd << " " << lcm << endl;

    return 0;

}

3. 题目 1017: [编程入门]完数的判断

题目描述:一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

int N;

scanf("%d",&N);

int sum;

for(int i=1;i<=N;i++)

{

    sum=0;

    for(int j=1;j<=i/2;j++)

    {

        if(i%j==0)

        {  

            sum=sum+j;

        }

    }

    if(sum==i)

        {

            printf("%d its factors are 1",i);

            for(int j=2;j<=i/2;j++)

            {

                if(i%j==0)

                    printf(" %d",j);

            }

            printf("\n");

        }

}

return 0;

}

4. 题目 1021: [编程入门]迭代法求平方根

问题描述:用迭代法求 平方根,求a的平方根的迭代公式为: X[n+1]=(X[n]+a/X[n])/2 要求前后两次求出的差的绝对值少于0.00001。 输出保留3位小数。

(1)源程序清单如下。

#include<stdio.h>

#include<math.h>

int main()

{

    double a,x0,x1;

    scanf("%lf", &a);

    x0=a;

    x1=(x0+a/x0)/2;

    while(fabs(x1-x0)>=1e-5){

    x0=x1;

    x1=(x0+a/x0)/2;

}

printf("%.3lf\n",x1);

    return 0;

}

5. 题目 1018: [编程入门]有规律的数列求和

问题描述:有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

   int a=2,b=1;

   int N=0;

   int i=1;

   double sum=0.0;

   scanf("%d",&N);

   while(i<=N)

   {

              sum+=(double)a/b;

              int s1=a+b;

              int s2=a;

              a=s1;

              b=s2;

              i++;

   }

   printf("%.2f",sum);

   return 0;

}

6. 题目 1022: [编程入门]筛选N以内的素数

问题描述:用简单素数筛选法求N以内的素数。

(1)源程序清单如下。

#include <stdio.h>

int main()

{

    int N,i,j;

    scanf("%d",&N);

    for(i=2;i<=N;i++)

    {

        int is_prime = 1;

        for(j=2;j*j<=i;j++)

        { 

            if(i % j == 0)

            {

            is_prime = 0; 

                break;

            }

        }

        if(is_prime)

        {

            printf("%d\n", i);

        }

    }

    return 0;

}

1. 题目 1016: [编程入门]水仙花数判断

题目描述:其中每个汉字代表1个数字(0~9)。相同的汉字代表相同的数字,不同的汉字代表不同的数字。试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。(具体输入输出格式看网站)

(1)源程序清单如下。

#include <stdio.h>

#include <math.h>

int isNarcissistic(int num);

int main() {

    int i;

    for (i = 100; i < 1000; i++) {

        if (isNarcissistic(i)) {

            printf("%d ", i);

        }

    }

    printf("\n");

    return 0;

}

int isNarcissistic(int num) {

    int originalNum = num;

    int sum = 0;

    while (num > 0) {

        int digit = num % 10;

        sum += pow(digit, 3);

        num /= 10;

    }

    return sum == originalNum;

}

2. 题目 1136: C语言训练-求具有abcd=(ab+cd)2性质的四位数

3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)2,恰好等于3025本身。请求出具有这样性质的全部四位数。

(具体输入输出格式看网站)

(1)源程序清单如下。

#include<bits/stdc++.h>

using namespace std;

int main()

{

    int a,b;

  for(int i=1000;i<=9999;i++)

  {

    a=i/100;

    b=i%100;

    if(i==(a+b)*(a+b))

    printf("%d ",i);

  }

   return 0;

}

3. 题目 1434: 蓝桥杯历届试题-回文数字

观察数字:12321,123321  都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

本题要求你找到一些5位或6位的十进制数字。满足如下要求:

该数字的各个数位之和等于输入的整数。(具体输入输出格式看网站)

(1)源程序清单如下。

#include<iostream>

using namespace std;

int main()

{

    int n;int f=0;

    cin>>n;

    for(int i=10000;i<1000001;i++)

    {

        int i1=i,x=0;

        int sum=0;

        while(i1)

        {

            x=x*10+i1%10;

            sum+=i1%10;

            i1/=10;

        }

        if(x==i&&sum==n)

        {cout<<i<<endl;f=1;}

    }

    if(f==0) cout<<-1;

    return 0;

}

4. 题目 1615: 蓝桥杯算法训练VIP-友好数

有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:

9的约数和有:1+3=4

4的约数和有:1+2=3

所以9和4不是友好的。

220的约数和有:1  2  4  5  10  11  20  22  44  55  110=284

284的约数和有:1  2  4  71  142=220

所以220和284是友好的。

编写程序,判断两个数是否是友好数。(具体输入输出格式看网站)

(1)源程序清单如下。

#include<stdio.h>

int f(int a)

{

    int i,sum=0;

    for(i=1;i<=a/2;i++)

    {

        if(a%i==0)

        sum+=i;

    }

    return sum;

}

int main()

{

    int a,b;

    scanf("%d %d",&a,&b);

    if(f(a)==b&&f(b)==a)

    printf("yes");

    else

    printf("no");

    return 0;

 

}

5. 题目 1157: 亲和数

古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为:1+2+4+5+10+11+20+22+44+55+110=284。

而284的所有真约数为1、2、4、71、 142,加起来恰好为220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。你的任务就编写一个程序,判断给定的两个数是否是亲和数。

(具体输入输出格式看网站)

(1)源程序清单如下。

#include<iostream>

using namespace std;

int main()

{

    int n,a,b,i,j,s1,s2;

    cin>>n;

    while(n--)

    {

    cin>>a>>b;

    s1=s2=0;

    for(i=1;i<a;i++)

    {

        if(a%i==0)s1+=i;

    }

    for(j=1;j<b;j++)

    {

        if(b%j==0)s2+=j;

    }

    if(s1==b&&s2==a)cout<<"YES"<<endl;

    else cout<<"NO"<<endl;

    }

    return 0;

}

6. 题目 1234: 检查一个数是否为质数

问题描述:输入一个正整数,检查该数是否为质数。(具体输入输出格式看网站)

(1)源程序清单如下。

#include <stdio.h>

int main() {

   int a,sum=0;

   scanf("%d",&a);

   for(int i=2;i*i<=a;i++){

              if(a<=0){

              continue;

              }

   if(a%i==0){

              sum++;

              break;

   }else{

              continue;

   }}

   if(sum==0){

              printf("Y");

   }else{printf("N");}

     return 0;

}

 

1. 下列乘法算式中:赛软件 * 比赛 = 软件比拼

其中每个汉字代表1个数字(0~9)。相同的汉字代表相同的数字,不同的汉字代表不同的数字。试编程确定使得整个算式成立的数字组合,如有多种情况,请给出所有可能的答案。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

   int a,b,c,d,e;

   int x,y,z;

   for(a=1;a<9;a++)

              for(b=1;b<9;b++)

                        for(c=0;c<9;c++)

                                   for(d=1;d<9;d++)

                                             for(e=0;e<9;e++){

                                             x=a*100+b*10+c;

                                             y=d*10+a;

                                             z=b*1000+c*100+d*10+e;

                                             if(x*y==z)

                                             printf("%d*%d=%d\n",x,y,z);

                                             }

                                             return 0;

}

2. 古堡算式:福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:

    ABCDE * ? = EDCBA

    他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”

    华生:“我猜也是!”

于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

   int a,b,c,d,e;

   int x,y,z;

   for(a=1;a<9;a++)

   for(b=1;b<9;b++)

   for(c=0;c<9;c++)

   for(d=1;d<9;d++)

   for(e=0;e<9;e++){

              x=a*100+b*10+c;

              y=d*10+a;

              z=b*1000+c*100+d*10+e;

              if(x*y==z)

              printf("%d*%d=%d\n",x,y,z);

   }

   return 0;

}

3. 马虎的算式:

小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。

有一次,老师出的题目是:36 x 495 = ?       他却给抄成了:396 x 45 = ?

但结果却很戏剧性,他的答案竟然是对的!!因为 36 * 495 = 396 * 45 = 17820

类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54。假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)

(1)源程序清单如下。

#include <stdio.h>

int main() {

    int a, b, c, d, e,x,y;

    for (a = 1; a <= 9; a++)

    for (b = 1; b <= 9; b++)

    for (c = 1; c <= 9; c++)               

    for (d = 1; d <= 9; d++)                   

    for (e = 1; e <= 9; e++) {                                            

       x=(a*10+b)*(c*100+d*10+e);

       y=(a*100+d*10+b)*(c*10+e);            

       if (x == y&&

              a!=b&&a!=c&&a!=d&&a!=e&&

              b!=c&&b!=d&&b!=e&&

              c!=d&&c!=e&&

              d!=e) {

           printf("%d%d * %d%d%d = %d%d%d * %d%d = %d\n",

                  a, b, c, d, e, a, d, b, c, e, x);                                                        

            }

        }

    return 0;

}

4. 三羊献瑞

观察下面的加法算式:

其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。请你填写“三羊献瑞”所代表的4位数字。

(1)源程序清单如下。

#include <stdio.h>

int main() {

    int xiang, rui, sheng, hui, san, yang, xian, qi;

    int num1, num2, sum;

    for(xiang=1;xiang<=9;xiang++)

        for(rui=0;rui<=9;rui++) {

            if(rui==xiang)continue;

            for(sheng=0;sheng<= 9;sheng++){

                if(sheng==xiang||sheng==rui)continue;

                for(hui=0;hui<=9;hui++){

                    if(hui==xiang||hui==rui||hui==sheng)continue;

                    for(san=1; san<=9;san++) {

                        if(san==xiang||san==rui||san==sheng||san==hui)continue;

                        for(yang=0;yang<=9;yang++){

                            if(yang==xiang||yang==rui||yang==sheng||yang==hui||yang==san)continue;

                            for(xian=0;xian<=9;xian++){

                                if(xian==xiang||xian==rui||xian==sheng||xian ==hui||xian==san||xian==yang)continue;

                                for(qi=0;qi<=9;qi++){

                                    if(qi==xiang||qi==rui||qi==sheng||qi==hui||qi==san||qi==yang||qi==xian)continue;                                                                       

                                    num1=xiang*1000+rui*100+sheng*10+hui;     

                                    num2=san*1000+yang*100+xian*10+rui;       

                                    sum=san*10000+yang*1000+sheng*100+rui*10+qi;                                                                     

                                    if (num1+num2==sum) {

                                        printf("祥=%d,瑞=%d,生=%d,辉=%d\n",xiang,rui,sheng,hui);

                                        printf("三=%d,羊=%d,献=%d,气=%d\n",san,yang,xian,qi);

                                        printf("祥瑞生辉(%d)+三羊献瑞(%d)=三羊生瑞气(%d)\n",num1,num2,sum);

                                        printf("\n三羊献瑞=%d%d%d%d\n",san,yang,xian,rui);

                                        return 0;

                                    }

                                }

                            }

                        }

                    }

                }

            }

        }  

    printf("未找到解\n");

    return 0;

}

5. 立方和问题。

问题描述:考虑方程式:a^3 + b^3 = c^3 + d^3

其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。这个方程有很多解。比如:a = 1,b=12,c=9,d=10 就是一个解。因为:1的立方加12的立方等于1729,而9的立方加10的立方也等于1729。

当然,a=12,b=1,c=9,d=10 显然也是解。

如果不计abcd交换次序的情况,这算同一个解。

请编写程序实现如下任务:找到所有小于30的不同的正整数解。把a b c d按从小到大排列,用逗号分隔,每个解占用1行。比如,刚才的解输出为:1,9,10,12    不同解间的顺序可以不考虑。

(1)源程序清单如下。

#include <stdio.h>

int main() {

    int a, b, c, d, t;

    for (a = 1; a < 30; a++)

        for (b = a + 1; b < 30; b++)

            for (c = a + 1; c < b; c++) 

                for (d = c + 1; d < 30; d++) {

                    if (d == b) continue;

                    if (a*a*a + b*b*b != c*c*c + d*d*d) continue;                                     

                    if (b < c) printf("%d,%d,%d,%d\n", a, b, c, d);

                    else if (b > d) printf("%d,%d,%d,%d\n", a, c, d, b);

                    else printf("%d,%d,%d,%d\n", a, c, b, d);

                }

    return 0;

}

 

6. 类似625的数字

625这个数字很特别,625的平方等于390625,刚好其末3位是625本身。除了625,还有其它的3位数有这个特征吗?

请编写程序,寻找所有这样的3位数:它的平方的末3位是这个数字本身。

(1)源程序清单如下。

#include<stdio.h>

int main()

{

   int a;

   for(a=100;a<1000;a++){

              if(a==a*a%1000){

                        printf("%d\n",a);

              }

   }

   return 0;

}

1.题目A

描述:输入10个整数,求它们的平均值,并输出大于平均值的数据的个数。(具体输入输出格式看网站)

(1)程序清单如下。

#include<stdio.h>

int main()

{

   int a[10],b=0,sum=0;

   for(int i=0;i<10;i++){

              scanf("%d",&a[i]);

              sum=sum+a[i];

   }

   double ave=(double)sum/10;

   for(int i=0;i<10;i++){

              if(ave<a[i]){

              b++;

   }

   }

   printf("%d",b);

   return 0;

}

2.题目B

描述:这是一个很经典的题,给定一个日期,输出这个日期是该年的第几天。(具体输入输出格式看网站)

(1)程序清单如下。

#include<stdio.h>

int main()

{

   int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

   int y,m,d,sum=0;

   while(scanf("%d/%d/%d",&y,&m,&d)!=EOF)

   {

              sum=0;

              for(int i=1;i<m;i++)

              sum=sum+month[i];

              sum=sum+d;

              if(m>2 && (y%4==0 && y%100!=0 || y%400==0))

              sum++;

              printf("%d\n",sum);

   }

   return 0;

}

3.题目C

描述:输入10个数,找出其中绝对值最小的数,将它和最后一个数交换,然后输出这10个数。(具体输入输出格式看网站)

(1)程序清单如下。

 

#include <stdio.h>

#include <stdlib.h>

int main() {

    int a[10], min= 0;   

    for (int i = 0; i < 10; i++) {

        scanf("%d", &a[i]);

        if (abs(a[i]) < abs(a[min])) {

            min= i;

        }

    }

    int t= a[min];

    a[min] = a[9];

    a[9] = t;

    for (int i = 0; i < 10; i++) {

        printf("%d ", a[i]);

    }  

    return 0;

}

4. 题目D

描述:已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    int a[10], x, i, b; 

    for (i = 0; i < 9; i++) {

        scanf("%d", &a[i]);

    }

    scanf("%d", &x);

    for (b= 8; b>= 0 && a[b] > x;b--) {

        a[b+ 1] = a[b]; 

    }

    a[b+ 1] = x;     

    for (i = 0; i < 10; i++) {

        printf("%d\n", a[i]);

    }   

    return 0;

}

5.题目E

描述:回文串是从左到右或者从右到左读起来都一样的字符串,试编程判别一个字符串是否为回文串。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

#include <string.h>

int main() {

    char s[255];

    int i, j, x;   

    gets(s); 

    x= strlen(s);

    for (i = 0, j = x - 1; i < j; i++, j--) {

        if (s[i] != s[j]) {

            printf("N");

            return 0; 

        }

    }   

    printf("Y"); 

    return 0;

}

6. 题目F

描述:字符串处理在计算机中有很多复杂的操作,但是这些复杂的操作都是由基本的字符串操作复合而成,要求编写一字符串颠倒的程序,把字符串中的字符颠倒位置。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main(){

    int N,a[10][10],sum = 0;   

    scanf("%d", &N);

    for (int i=0;i<N;i++)

        for(int j=0;j<N; j++)

            scanf("%d", &a[i][j]);       

    for (int i=0; i<N;i++) {

        sum += a[i][i];          

        sum += a[i][N-1-i];      

    }   

    if (N%2 == 1)

        sum -= a[N/2][N/2];   

    printf("%d", sum);

    return 0;

}

1. 题目A

描述输入一个正整数n (1≤ n ≤20),再输入一个n 行n列的矩阵,找出该矩阵中绝对值最大的元素以及它的行下标和列下标。(具体输入输出格式看网站)

(1)程序清单如下。

#include<stdio.h>

#include<math.h>

int main()

{

   int a[20][20];

   int i,j,n,max,maxi,maxj;

   scanf("%d",&n);

   for(i=0;i<n;i++)

              for(j=0;j<n;j++)

              scanf("%d",&a[i][j]);

   max=a[0][0];maxi=0;maxj=0;

   for(i=0;i<n;i++)

              for(j=0;j<n;j++)

              {

                        if(abs(a[i][j])>abs(max))

                        {

                                   max=a[i][j];

                                   maxi=i;

                                   maxj=j;

                        }

              }

              printf("%d %d %d",max,maxi+1,maxj+1);

              return 0;

}

2.题目B

描述:编写一个程序输入一个m*n的矩阵存储并输出,并且求出每行的最大值和每行的总和。

要求把每行总和放入每行最大值的位置,如果有多个最大值,取下标值最小的那一个作为最大值。最后将结果矩阵输出。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    int m, n,maxi,maxj,sum;

    int a[100][100];   

    while (scanf("%d %d",&m,&n)==2) {

        for (int i=0; i<m;i++) {

            for (int j=0;j<n;j++) {

                scanf("%d",&a[i][j]);

            }

        }       

        for (int i = 0; i < m; i++) {

            maxi=a[i][0];

            maxj=0;

                        sum=a[i][0];

           

            for (int j=1;j<n;j++) {

                sum+=a[i][j];

                if (a[i][j]>maxi) {

                    maxi=a[i][j];

                    maxj=j;

                }

            }

            a[i][maxj]=sum;

        }

 

        for (int i = 0; i < m; i++) {

            for (int j = 0; j < n; j++) {

                printf("%d", a[i][j]);

                if (j < n - 1) {

                    printf(" ");

                }

            }

            printf("\n");

        }

    }

   

    return 0;

}

3.题目C

描述:输入一个N维矩阵,判断是否对称。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    int n,x[100][100];  

    while (scanf("%d", &n) == 1) {

        for (int i = 0; i < n; i++) {

            for (int j = 0; j < n; j++) {

                scanf("%d", &x[i][j]);

            }

        }

        int y= 1; 

        for (int i = 0; i < n &&y; i++) {

            for (int j = i + 1; j < n; j++) { 

                if (x[i][j] != x[j][i]) {

                    y= 0; 

                    break;

                }

            }

        }

        if (y) {

            printf("Yes!\n");

        } else {

            printf("No!\n");

        }

    }

   

    return 0;

}

4.题目D

描述:给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。(具体输入输出格式看网站)

(1)程序清单如下。

#include<stdio.h>

int main()

{

   int n,m,i,j,x[20][20],y[20][20];

   scanf("%d%d",&n,&m);

   for(i=0;i<n;i++)

              for(j=0;j<m;j++){

              scanf("%d",&x[i][j]);

              }

   for(i=0;i<n;i++){

              for(j=0;j<m;j++)

              y[j][i]=x[i][j];

              }

   for(i=0;i<m;i++){

              for(j=0;j<n;j++){

              printf("%d",y[i][j]);

              if(j<n-1)

              printf(" ");

              }

              printf("\n");   

   }

   return 0;

}

5. 题目E

描述:读入一些字符串,将其中的空格去掉。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    char x;

    while (scanf("%c", &x) == 1) {

        if (x!= ' ') {

            printf("%c", x);

        }

    }

    return 0;

}

6.题目F

描述:输入一串仅包含 'A' - 'Z'的字符串, 用下面的方法进行重新编码:

(1) 若子串包含连续k个相同的字符,则改为kX; 其中X为这个子串中唯一的字符.

(2) 如果子串中字符仅为1个时, 则前面的'1'则省去.(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    int n;

    char x[10001]; 

    scanf("%d", &n);

    while (n--) {

        scanf("%s", x);

        int i = 0;

        while (x[i] != '\0') {

            char a= x[i];

            int b= 0;

            while (x[i] == a) {

                b++;

                i++;

            }

            if (b== 1) {

                printf("%c", a);

            } else {

                printf("%d%c", b, a);

            }

        }  

        printf("\n");

    }

    return 0;

}

7.题目F

描述:若一个数(首位不为0)从左到右读与从右到左读都是一样,这个数就叫做回文数,例如12521就是一个回文数。

给定一个正整数,把它的每一个位上的数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止,如果不是,则重复这个操作,直到和为回文数为止。给定的数本身不为回文数。

例如:87则有:

STEP1: 87+78=165

STEP2: 165+561=726

STEP3: 726+627=1353

STEP4: 1353+3531=4884

编写一个程序,输入M(12<=M<=100),输出最少经过几步可以得到回文数。如果在8步以内(含8步)不可能得到回文数,则输出0。(具体输入输出格式看网站)

(1)程序清单如下。

#include <stdio.h>

int main() {

    int l, m;

    scanf("%d", &l);

    while (l--) {

        scanf("%d", &m);

        int a = 0; 

        int b = m; 

        int c = 0; 

        while (a < 8) {

            int d = 0; 

            int e = b; 

            while (e > 0) {

                d = d * 10 + e % 10;

                e /= 10;

            }

            b = b + d;

            a++;

            e = b;

            d = 0;

            while (e > 0) {

                d = d * 10 + e % 10;

                e /= 10;

            }

            if (b == d) {

                c = 1;

                break;

            }

        }

        if (c) {

            printf("%d\n", a);

        } else {

            printf("0\n");

        }

    }

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论