Онлайн компилятор C

#include <stdio.h> int main() { int N, k, cnt, i; scanf("%d", &N); for (k = 2; k <= 9; k++) { cnt = 0; for (i = 2; i <= N; i++) { if (i % k == 0) cnt++; } printf("%d ,%d\n", k, cnt); } return 0; }
这段代码的功能是:对于每个除数k从2到9,统计1到N之间有多少个数能被k整除,然后输出k和对应的个数。

代码逻辑基本正确,但有一个小问题需要注意。

- 内层循环从i=2开始,跳过了数字1。如果N>=1,那么1能被任何k整除,但这里没有统计。你需要确认题目要求是否包含数字1。
- 输出格式中逗号后面有一个空格,但题目可能要求不同的格式,请检查输出样例。