一个整数,如果它是7的倍数或者尾数为7,则称其为与7相关的数。现要求输出1~n之间,与7无关的数的和。c++
时间: 2024-06-22 14:02:24 浏览: 225
在C++中,要计算1到n之间与7无关的数的和,我们需要遍历这个范围内的每个数字,对每个数字进行条件判断,看它是否是7的倍数或尾数为7。如果不是,就加到总和中。以下是一个简单的示例代码:
```cpp
#include <iostream>
int sumOfUnrelatedToSeven(int n) {
int total = 0;
for (int i = 1; i <= n; ++i) {
if (i % 7 != 0 && i % 10 != 7) { // 检查不是7的倍数且尾数不为7
total += i;
}
}
return total;
}
int main() {
int n = 100; // 你可以更改这个值为任意的1到n
std::cout << "1到" << n << "之间与7无关的数的和是: " << sumOfUnrelatedToSeven(n) << std::endl;
return 0;
}
```
在这个代码中,`sumOfUnrelatedToSeven`函数计算了指定范围内的和,而`main`函数调用这个函数并输出结果。
相关问题
C语言实现:输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数
下面是C语言实现的代码:
```c
#include <stdio.h>
int main() {
int count = 0;
for (int i = 1; i <= 100; i++) {
if (i % 7 == 0 || i % 10 == 7) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("count: %d\n", count);
return 0;
}
```
输出结果为:
```
7 14 17 21 27 28 35 37 42 47 49 56 63 67 70 77 84 87 91 97
count: 20
```
代码中使用了一个循环,从1到100遍历每个数字,判断它是否是7的倍数或者数字尾数为7,如果是,则输出该数字,并将计数器加1。最后输出符合条件的数字个数。
输出1-500之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数,每输出10个数换行打印。用do-while语句实现。
在Java中,你可以使用do-while循环来实现这个需求。首先,我们需要初始化一个计数器和一个变量来检查是否满足条件(尾数为7或者能被7整除),然后在每次循环中递增计数器并判断当前数字。以下是具体的代码示例:
```java
public class Main {
public static void main(String[] args) {
int count = 0; // 统计数字个数
int num = 1; // 初始化数字
do {
if (num % 10 == 7 || num % 7 == 0) { // 检查尾数为7或能被7整除
System.out.println(num);
count++; // 当找到符合条件的数,计数器加1
}
if (count % 10 == 0) { // 每输出10个数换行
System.out.println();
}
num++; // 递增数字继续检查下一个
} while (num <= 500); // 循环直到num超过500
System.out.println("共有 " + count + " 个符合条件的数字。");
}
}
```
这个程序会按照要求,逐个找出1到500之间的7的整数倍数或数字尾数为7的数字,并在输出10个数之后换行。
阅读全文