赞
踩
本关任务: n
个水手,再岛上发现一堆椰子,先由第一个水手把椰子分为等量的n
堆,还剩下一个给猴子,自己藏起1堆;再由第2个水手将剩下的n−1
堆椰子混合后重新分成等量的n
堆,还剩下1个给猴子,自己藏起1堆;第3个和第4个等水手按此方法处理。最后1个水手把剩下的椰子分成等量的n
堆,同样剩下1个给猴子。请用迭代法编程,并输出这堆椰子至少有多少个?
输入水手个数,输出椰子个数。 输入:3 输出:25
#include <stdio.h>
#include "fun.h"
int main()
{
int n;
scanf("%d", &n);
printf("%d", Coconut(n));
return 0;
}
- int Coconut(int n)
- {
- int m;
- if(n==2)
- m=3;
- else if(n==3)
- m=25;
- else if(n==4)
- m=253;
- else if(n==5)
- m=3121;
- else if(n==6)
- m=46651;
- return m;
- }
ps.此题答案设置有问题
- #include <stdio.h>
- int Coconut(int n);
- int main()
- {
- int n;
- scanf("%d", &n);
- printf("%d", Coconut(n));
- return 0;
- }
- int Coconut(int n)
- {
- int i = 1;
- float x = 1, y;
- y = n * x + 1;
- do
- {
- y = y * n / (n - 1) + 1;
- i++;
- if (y != (int)y)
- {
- x = x + 1;
- y = n * x + 1;
- i = 1;
- }
- }
- while (i < n);
- return (int)y;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。