//求任意两个正整数的最小公倍数
#include <stdio.h>
int gbs(int m, int n)
{
int r, p;
p = m * n;
while ((r = m % n) != 0)
{
m = n;
n = r;
}
p = p / n;
return(p);
}
int main()
{
int a, b, c;
printf("Enter two integers: ");
scanf("%d%d", &a, &b);
c = gbs(a, b);
printf("c=%d\n", c);
system("pause");
return;
}
实验10.2
//输入m和n(m>=1,n<=100),输出m`n之间的完数:因子和它本身相等的数
#include <stdio.h>
int factsum(int n); //对函数进行声明
int main()
{
int i, m, n, result;
printf("Enter two integer numbers m and n: ");
scanf_s("%d%d", &m, &n);
if (m > n)
{
i = m; m = n; n = i; //使m<n
}
for (i = m; i <= n; i++)
{
result = factsum(i);
if (i == result) //判断是否是完数
printf("%d\n", i);
}
system("pause");
return;
}
int factsum(int n) //求因数和余数
{
int i, sum;
sum = 1;
for (i = 2; i <= (n / 2); i++) //找出所有因子
if (n % i == 0) //累加因子
sum = sum + i; //返回因子和
return sum;
}
实验10.3
//输入一个正整数n,以每行3个的形式输出小于n的所有素数
#include <stdio.h>
int prime(int m)
{
int i;
for(i=2;i<m-1;i++) //判断素数
if(m%i==0)
return(0);
return (1); //是素数,返回1
}
int main()
{
int i ,n, k=0;
printf("Enter a integer:");
scanf("%d",&n);
for(i=2;i<=n;i++)
if(prime(i)) //调用函数判断素数
{
printf("%4d",i);
k++;
if(k%3==0) //换行
printf("\n");
}
printf("\n");
system ("pause");
return;
}