C语言之新同学年龄

新同学年龄

班里来了一名新同学,很喜欢学数学,同学们问他年龄的时候,他说我的年龄平方是个三位数,立方是个四位数,四次方是个六位数。三次方和四次方正好用遍0、1、2、3、4、5、6、7、8、9这10个数字,求该同学的年龄。

源代码如下:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.  int  a[10],s[10]={0};
  5.  int i;
  6.  long x,sum1,sum2;                         //储存为长整型,六位数
  7.  x=18;                                            //按照条件计算,x从18开始符合条件
  8.  do
  9.  {
  10.   sum1=x*x*x;
  11.   for(i=0;i<=3;i++)
  12.   {
  13.    a[i]=sum1%10;                          //保存立方的每位数字
  14.    sum1/=10;
  15.   }
  16.   sum2=x*x*x*x;                       
  17.   for(i=4;i<=9;i++)
  18.   {
  19.    a[i]=sum2%10;                               //保存四次方的每位数字
  20.    sum2/=10;
  21.   }
  22.   for(i=0;i<=9;i++)
  23.   s[a[i]]++;                                       //将每位置为1
  24.   for(i=0;i<=9;i++)
  25.   {
  26.    if(s[a[i]]==1)                                         //测试是否每个数都存在
  27.    {
  28.     if(i==9)
  29.     printf("the number is %d ",x);
  30.    }
  31.    else
  32.    break;
  33.   }
  34.   x++;
  35.  }while(x<22);
  36.  return 0;
  37. }

效果图:

原文地址:https://www.cnblogs.com/tuifeideyouran/p/3155358.html