|
发表于 2020-12-25 14:54:12
|
显示全部楼层
忽略了有桃子被拿走的事情了
多谢指正!
- #include <stdio.h>
- main()
- {
- int d , i , s , s0 ;
- for(s0 = 1 ; ; s0 ++) {
- for(i = 0 , s = s0 ; i < 5 ; i ++) {
- if((5 * s + 4) % 4) break ;
- else s = (5 * s + 4) / 4 ;
- }
- if(i == 5) break ;
- }
- printf("%d\n" , s) ;
- for(s0 = s , i = 0 ; i < 5 ; i ++) {
- d = (s0 - 1) / 5 ;
- s = s0 - 1 - d ;
- printf("第 %d 只猴子:%d , 丢 1 , 拿 %d , 剩 %d\n" , i + 1 , s0 , d , s0 - 1 - d) ;
- s0 = s ;
- }
- }
复制代码
编译、运行实况:
- D:\0002.Exercise\C>g++ -o x x.c
- D:\0002.Exercise\C>x
- 3121
- 第 1 只猴子:3121 , 丢 1 , 拿 624 , 剩 2496
- 第 2 只猴子:2496 , 丢 1 , 拿 499 , 剩 1996
- 第 3 只猴子:1996 , 丢 1 , 拿 399 , 剩 1596
- 第 4 只猴子:1596 , 丢 1 , 拿 319 , 剩 1276
- 第 5 只猴子:1276 , 丢 1 , 拿 255 , 剩 1020
- D:\0002.Exercise\C>
复制代码 |
|