我想获得0~3000以内13和17共同的倍数,请用c语言的while循环完成该任务
时间: 2023-06-13 07:07:31 浏览: 38
请参考以下代码:
```c
#include <stdio.h>
int main() {
int i = 1;
while (i <= 3000) {
if (i % 13 == 0 && i % 17 == 0) {
printf("%d\n", i);
}
i++;
}
return 0;
}
```
这段程序使用了 while 循环,从 1 循环到 3000,每次判断当前数是否是 13 和 17 的倍数,如果是,则输出该数。
相关问题
我想获得0~3000以内13和17共同的倍数,请告诉我下列代码中的错误:
以下是你的代码:
```
for i in range(0,3001):
if i%13 == 0 and i%17 == 0:
print(i)
```
这段代码是正确的,可以输出0到3000之间13和17的公倍数。如果没有输出结果,那么说明0到3000之间没有13和17的公倍数。
C语言while循环求最小公倍数
以下是两种C语言while循环求最小公倍数的例子:
1.使用辗转相除法求最小公倍数
```c
int a = 0, b = 0;
scanf("%d %d", &a, &b);
int n = a * b;
int m = 0;
while (m = a % b) {
a = b;
b = m;
}
printf("%d\n", n / b);
```
2.使用枚举法求最小公倍数
```c
int a = 0, b = 0;
scanf("%d %d", &a, &b);
int i = 1;
while ((a * i) % b != 0) {
i++;
}
printf("%d\n", i * a);
```