文章目录
- 最大公约数,最小公倍数
- 现象
- 水仙花数
- 现象
最大公约数,最小公倍数
最大公约数:
最大体现在:最大也只能是两个数中最小的那个数
公约体现在:两个数全都能被某个数整除
还有个公式求其一,就知道另一个了:两个数的乘积等于这两个数的最大公约数
#include <stdio.h>int main()
{int x,y;int tmp = 0;printf("这是最大公约数,最小公倍数的程序\n");puts("请输入两个整数");scanf("%d%d",&x,&y);tmp = (x<y) ? x : y;while(1){if((x%tmp==0) && (y%tmp==0)){printf("最大公约数是:%d \n",tmp);printf("最小公倍数是:%d \n",(x*y)/tmp);//由于两个数的乘积等于这两个数的最大公约数与最小公倍数的积。break;}tmp--;}puts("继续方法二求最小公倍数,类比上面");tmp = (x>y)?x:y;while(1){if((tmp%x==0) && (tmp%y==0)){printf("最小公倍数是:%d \n",tmp);break;}tmp++;}return 0 ;
}
现象
水仙花数
水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。 例如:1^3 + 5^3+ 3^3 = 153。
#include <stdio.h>int main()
{int data,i,j,k;printf("这是一个求100-999之间的水仙花数的程序\n");for(data=100;data<=999;data++){i = data/100%10; //取出百位j = data/10%10; //取出十位k = data%10; //取出十位 //单片机中多用到这种算法if(data == (i*i*i+j*j*j+k*k*k)){printf("%d ",data);}}return 0;
}
现象
----- 如有错误欢迎大家批评指正!!!