目录
三位数组成
#include<stdio.h>
int main()
{
int i, j, k;
for (i = 1; i <= 4; i++)
for (j = 1; j <= 4; j++)
for (k = 1; k <= 4; k++)
if (i != j && i != k && j != k)
printf("%d%d%d ", i, j, k);//直接并列输出三个数字,注意后面加空格让每个三位数有间隔
return 0;
}
水仙花数
#include<stdio.h>
int main()
{
int i,a,b,c;
for (i = 100; i <1000; i++)//水仙花数是特殊三位数,所以直接从100开始判断
{
a = i % 10;// 提取个位数
b = i / 10 % 10;//提取十位数
c = i / 100;//提取百位数
if (a * a * a + b * b * b + c * c * c == i)//每一位数立方后相加之和等于本身即为水仙花数
printf("%d是水仙花数\n", i);
}
return 0;
}
斐波那契数列
#include<stdio.h>
int main()
{
int i = 1, j = 1, t;
printf("%d %d ", i, j);
for (int n = 0; n < 20; n++)
{
t = j;
j = i + j;
i = t;
printf("%d ", j);
}
return 0;
}
素数
#include<stdio.h>
int main()
{
int x,i;
scanf_s("%d",&x);
for (i = 2; i < x; i++)//出去1和该数本身
if (x % i == 0)
break;
if (i == x)//如果是素数的话,上面循环语句中会遍历完每一个数字,并在i=x的时候跳出循环
printf("是素数");
else
printf("不是素数");
return 0;
}
同构数
#include<stdio.h>
int main()
{
int i,j;
for (i = 1; i < 10000; i++)
{
j = i * i;
if (j % 10 == i||j%100==i||j%1000==i||j%10000==i)
printf("%d %d\n",i,j);
}
return 0;
}
最大公约数,最小公倍数
#include<stdio.h>
int main()
{
int m, n,t,i,gys;
scanf_s("%d%d", &m, &n);
if (m < n)//判断两数大小,使m为大的数
{
t = m;
m = n;
n = t;
}
for (i = n; i > 1; i--)//从n开始遍历,分别被m和n取余判断
if (m % i == 0 && n % i == 0)
{
gys = i;
break;//找到最大的后就跳出循环
}
printf("最大公约数为%d", gys);
printf("最小公倍数为%d", m * n / gys);
return 0;
}