各种趣味整数(2)

时间:2022-04-15 11:11:38



各种趣味整数(2)


//求100以内的勾股数

#include<stdio.h>
int main(){
 int a,b,c;
 int count=0;
 for(a=1;a<=100;a++){
  for(b=a+1;b<=100;b++){//避免重复
   for(c=1;c<=100;c++){
    if(a*a+b*b==c*c) {
     printf("%2d   %2d   %2d \n",a,b,c);
     count ++;
    }
   }
  }
 }
 printf("一共%d\n",count);
 return 0;
} 








各种趣味整数(2)



//阿姆斯特朗数 
#include<stdio.h>
int main()
{
 int i,a,b,c;
 for(i=100;i<1000;i++){
  a=i/100;
  b=i%100/10;
  c=i%10;
  if(i==a*a*a+b*b*b+c*c*c){
   printf("%d\n",i);
  } 
 }
 return 0;
}


法二:


#include<stdio.h>
#include<math.h>
int main()
{
 int i,s,j,k,t;
 
 int a[10];
 for(i=1;i<1000;i++)
 {
     s=0;
  t=0;
  k=i;
  while(k)
  {
  a[t]=k%10;
  k=k/10;
  t++; 
  }
  for( j=0;j<t;j++)
  {
   s=s+(pow(a[j],3));
  }
  if(i==s)
   printf("阿姆斯特朗数%d\n",i);
 }
 return 0;
}



各种趣味整数(2)



//水仙花数
#include<stdio.h>
int main(){
 int a[3];
 int i,s1,s2,s3;
 for(i=100;i<1000;i++){
  a[0]=i/100;
  a[1]=i%100/10;
  a[2]=i%10;
  s1=pow(a[0],3);
  s2=pow(a[1],3);
  s3=pow(a[2],3);
  if(i==s1+s2+s3)
  {
   printf("%d\n",i);
  } 
 }
 return 0;
}