递归·1·有多少香蕉

7-2 有多少香蕉(20 分)

以前有这么一个益智游戏,沙滩上有n个猴子和一堆香蕉,晚上有一只猴子偷偷起来把香蕉分成n份,自己拿走了一份,多出来一根,扔进了海里,然后去睡觉了,后面所有的猴子都进行了同样的操作,分成n份,扔掉一根,拿走一份。问最少需要多少香蕉才能让所有猴子都完成该操作。(最后一只猴子扔掉后可以拿走0个,也算是n份均分)给定一个整数m,表示猴子的个数,题目要求输出最初的香蕉数。题目保证有解。

输入格式:

第一行输入n,后面依次输入n个数m。

输出格式:

所有输出在一行内完成,行末不能有多余空格,最后无回车结尾

输入样例:

第一行的2表示有2个m输入。第二行第三行是输入数据

2
2
3

输出样例

3 25
—————————————————————————————————————————————————————————————————————————————
#include <stdio.h>
int main()
{
    int x[1000];
    int m,z,i,s,n,num;
    scanf("%d",&m);
    for(z=0;z<m;z++)
 {
    scanf("\n%d",&n);
        for(num=n;num<=99999;num+=n)
     {  s=num+1;
             for(i=1;i<=n;i++)
               if(s%n==1)
                 s=(s-1)*(n-1)/n;
               else
                 break;
             if(i==n+1)
           {
                 x[z]=num+1;
                 break;
           }
     }
  }
        for(z=0;z<m;z++)
     {
            printf("%d",x[z]);
            if(z!=m-1)
              printf(" ");
     }
   return 0;
}


___________________________________________________________________________________________________________
/*为什么要学好数学?因为数学代表一种思维能力。以下是优化*/ 
#include <stdio.h>
#include <math.h>
int main()
{
  int n,i,j,k=0;
  double xiangjiao;
  scanf("%d",&n);/*告诉数组有这么多数*/
  double m[n];/*乘方貌似要用浮点数*/
  for(i=0;i<n;i++)
    scanf("%lf",&m[i]);
    for(j=0;j<n;j++){
    xiangjiao=pow(m[j],m[j])-m[j]+1;/*小学这个叫找规律*/
    printf("%.f",xiangjiao);
    if (k!=n-1){
       printf(" ");k++;}/*要求行末无空格*/
    }
    /*误打误撞答案正确*/
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值