酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

c语言 在山的那边,海的那边住一群勤劳又爱喝酒的兔子,总共有x个兔子。 五月的第一天,他们商量种萝卜,结果第二天他们在地里挖了n个坑。 那天晚上,他们为了即将种下的萝卜搞了一个趴体,结果所有的兔子喝的烂醉如泥。 第三天早上,第1只兔子醒过来,它把所有坑都种上了萝卜,然后去睡觉了。 第四天早上,第2只兔子才醒过来,它把所有是2的倍数的坑进行了“相反操作”(种上萝卜填埋好的坑挖开,挖好坑的种上萝卜又填埋回去); 第五天早上,第3只兔子,它把所有是3的倍数的坑进行了“相反操作”; … 最后,地里总共有多少个坑是种好萝卜填埋回去的。 输入格式: 第一行是两个正整数x和n 1 ≤ x ≤n ≤10000 输出格式: 输出最后地里有多少个坑种上了萝卜又填埋回去的。 输入样例: 2 10000 输出样例: 5000

以下是使用 C 语言解决此问题的代码: ```c #include <stdio.h> int main() { int x, n, i, j, count = 0; scanf("%d %d", &x, &n); int status[n]; for (i = 0; i < n; i++) { status[i] = 1; // 1 表示种上萝卜填埋好的坑,0 表示挖开的坑 } for (i = 1; i <= x; i++) { for (j = i; j < n; j += i) { status[j] = 1 - status[j]; } } for (i = 0; i < n; i++) { if (status[i] == 1) { count++; } } printf("%d\n", count); return 0; } ``` 这段代码首先读取兔子的数量 `x` 和坑的数量 `n`,然后创建一个数组来表示每个坑的状态(1 表示种上萝卜填埋好,0 表示挖开)。通过循环模拟每只兔子对坑的操作,最后统计种上萝卜填埋好的坑的数量并输出。 [2024-10-24 23:14:32 | AI写代码神器 | 290点数解答]

相关提问