2. 猴子分桃

来源:互联网 发布:少帅汤玉麟 知乎 编辑:程序博客网 时间:2024/05/17 23:19

有一堆桃子和N只猴子,第一只猴子将桃子平均分成了M堆后,还剩了1个,它吃了剩下的一个,并拿走一堆。后面的猴子也和第1只进行了同样的做法,请问N只猴子进行了同样做法后这一堆桃子至少还剩了多少个桃子(假设剩下的每堆中至少有一个桃子)?而最初时的那堆桃子至少有多少个?

输入

输入包含二个数据,数据间用空格隔开。第一个数据为猴子的只数N(1≤N≤10),第二个数据为桃子分成的堆数M(2≤M≤7)。

输出

输出包含两行数据,第一行数据为剩下的桃子数,第二行数据为原来的桃子数。


测试输入关于“测试输入”的帮助期待的输出关于“期待的输出”的帮助时间限制关于“时间限制”的帮助内存限制关于“内存限制”的帮助额外进程关于“{$a} 个额外进程”的帮助测试用例 1以文本方式显示
  1. 3 2↵
以文本方式显示
  1. 1↵
  2. 15↵
1秒1024KB0


题解:

枚举操作

#include<cstdio>int main(){int  M,N,x,y,i;scanf("%d %d",&N,&M);for( i=1;i<=100000001;i++)      //原本i范围为1-1000001 没通过后调为1-100000001 通过 {y=i;for( x=1;x<=N;x++){   if(y%(M-1)) goto aa;y=1+y+y/(M-1);}x-=1;if(x==N) {printf("%d\n%d\n",i,y);return 0;}aa:;}}


原创粉丝点击