c语言求200以内的素数,最大公约数和最小公倍啊
时间: 2023-03-31 07:03:30 浏览: 181
C语言最大公约数和最小公倍数
5星 · 资源好评率100%
关于求200以内的素数,可以使用筛法,具体实现可以参考以下代码:
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool is_prime[201] = {false}; // 初始化为false,表示都不是素数
int i, j;
// 筛法求素数
for (i = 2; i <= 200; i++) {
if (!is_prime[i]) { // 如果i是素数
printf("%d ", i); // 输出i
for (j = i * 2; j <= 200; j += i) {
is_prime[j] = true; // 将i的倍数标记为非素数
}
}
}
// 求最大公约数和最小公倍数可以使用辗转相除法,具体实现可以参考以下代码:
int a = 24, b = 36; // 以24和36为例
int temp;
int m = a, n = b;
// 求最大公约数
while (n != ) {
temp = m % n;
m = n;
n = temp;
}
printf("\n最大公约数为:%d\n", m);
// 求最小公倍数
printf("最小公倍数为:%d\n", a * b / m);
return ;
}
阅读全文