求1到n之间既不能被 5 和6 整除,也不能被 8 整除的数有m个,用c语言代码实现
时间: 2024-05-09 13:17:59 浏览: 164
以下是C语言代码实现:
```
#include <stdio.h>
int main() {
int n, m = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (i % 5 != 0 && i % 6 != 0 && i % 8 != 0) {
m++;
}
}
printf("在1到%d之间既不能被5和6整除,也不能被8整除的数有%d个。\n", n, m);
return 0;
}
```
当然也可以使用更简洁的代码实现,例如:
```
#include <stdio.h>
int main() {
int n, m = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (i % 120 != 0) {
m++;
}
}
printf("在1到%d之间既不能被5和6整除,也不能被8整除的数有%d个。\n", n, m);
return 0;
}
```
其中,120是5、6、8的最小公倍数。
相关问题
C语言求m到n之间既不能被七整除又不能被5整除的整数之和
在C语言中,你可以通过循环结构和条件判断来计算m到n之间满足条件的整数之和。以下是一个简单的示例代码:
```c
#include <stdio.h>
int main() {
int m, n, i, sum = 0;
// 输入范围
printf("请输入范围的起始值(m): ");
scanf("%d", &m);
printf("请输入范围的结束值(n): ");
scanf("%d", &n);
for (i = m; i <= n; ++i) {
// 判断是否能被7或5整除
if (i % 7 != 0 && i % 5 != 0) {
sum += i; // 如果符合条件,则累加到总和上
}
}
printf("从%d到%d之间的既不能被7整除也不能被5整除的整数之和是:%d\n", m, n, sum);
return 0;
}
```
在这个程序里,我们遍历从`m`到`n`的所有整数,如果一个数不能被7和5同时整除(即余数不为0),就把它加入到总和`sum`中。
用c语言求[m,n]之间既不能被7整除也不能被5整除的整数之和,m和n的值由键盘输入
完整代码如下:
```c
#include <stdio.h>
int main() {
int m, n, sum = 0;
printf("请输入m和n的值(以空格隔开):");
scanf("%d %d", &m, &n);
for (int i = m; i <= n; i++) {
if (i % 7 != 0 && i % 5 != 0) {
sum += i;
}
}
printf("[%d, %d]之间既不能被7整除也不能被5整除的整数之和为:%d\n", m, n, sum);
return 0;
}
```
首先通过 `scanf` 从键盘输入 `m` 和 `n` 的值,然后使用 `for` 循环遍历 `[m, n]` 区间内的所有整数,如果某个整数既不能被7整除也不能被5整除,则将其加入 `sum` 中。最后输出结果即可。
阅读全文