循环练习
求两个数的最大公约数和最小公倍数
代码:
#include<stdio.h>
int main()
{
//输入两个数求最大公因数和最小公倍数
int m;
int n;
int r;//两个数的积
int b;//代数
//先进行一次交换,大数在前小数再后
if(m<n)
{
b=n;
n=m;
m=b;
}
r=m*n;//保留两个数的积用来求最小公倍数
//最大公约数用辗转相除法
int t;
t=m%n;
while(t!=0)
{
m=n;
n=t;
t=m%n;
}
printf("最大公因数是%d\n",n);
//最小公倍数是两个数的积除以最大公因数
printf("最小公倍数是%d\n",r/n);
return 0;
}
运行结果:
水仙花数
求3位数的水仙花数
代码:
#include<stdio.h>
int main()
{
int data;
int bai;//取百位数
int shi;//取十位数
int ge;//去个位数
for(data=100;data<1000;data++)
{
bai=data/100;
shi=(data/10)%10;
ge=data%10;
if(data==bai*bai*bai+shi*shi*shi+ge*ge*ge)
{
printf("%d\t",data);
}
}
return 0;
}
运行结果: