题目描述
秋天到了, n 只猴子采摘了一大堆苹果放到山洞里, 约定第二天平分. 这些猴子很崇拜猴王孙悟空, 所以都想给他留一些苹果. 第一只猴子悄悄来到山洞, 把苹果平均分成 n 份, 把剩下的 m 个苹果吃了, 然后藏起来一份, 最后把剩下的苹果重新合在一起. 这些猴子依次悄悄来到山洞, 都做同样的操作, 恰好每次都剩下了 m 个苹果. 第二天, 这些猴子来到山洞, 把剩下的苹果分成 n 分, 巧了, 还是剩下了 m 个. 问, 原来这些猴子至少采了多少个苹果.
数据规模和约定
0<m< n< 9
输入
两个整数, n m
输出
一个整数, 表示原来苹果的数目
样例输入
5 1
样例输出
15621
提示
C 语言在线学习平台微信号 dotcpp
- #include<iostream>
- #include<algorithm>
- #include<stdio.h>
- using namespace std;
- int main(void)
- {
- int m,n;
- cin>> n>> m;
- for(int i=0;;i++)
- {
- bool flag = true;
- long long x = i;
- for(int j=1;j<=n;j++)
- {
- x = x * n + m;
- if(x%(n-1)!=0)
- {
- flag = false;
- break;
- }
- x = x/(n-1);
- }
- if(flag == false) continue;
- if(flag == true)
- {
- x = x * n+ m;
- printf("%lld",x);
- return 0;
- }
- }
- return 0;
- }
列一下方程, 看一下规律就可以写两个循环.
[蓝桥杯][算法训练 VIP] 猴子分苹果
来源: http://www.bubuko.com/infodetail-2875355.html