1228: 趣味程序设计_出售金鱼
题目描述
令狐冲将养的一缸金鱼分5次出售:第1次卖出全部的一半加1/2条;第2次卖出余下的三分之一加1/3条;第3次卖出余下的四分之一加1/4条;第4次卖出余下的五分之一加1/5条;最后卖出余下的11条。问原来鱼缸中共有多少条鱼?答案是59条。
为了防止大家混AC,题目稍微改一下。
令狐冲将养的一缸金鱼分m次出售(m的取值为2,或3,或4,或5):第1次卖出全部的一半加1/2条;第2次卖出余下的三分之一加1/3条;第3次卖出余下的四分之一加1/4条;第4次卖出余下的五分之一加1/5条;......;第m-1次卖出余下的m分之一加1/m条,最后卖出余下的11条。问原来鱼缸中共有多少条鱼?
若输入的m是5,则答案仍是59条。
输入
每行输入一个m值,m的取值为2,或3,或4,或5。
输出
对应输出原来鱼缸中共有多少条鱼?,输出一个数字即可。
样例输入
5
4
3
2
4
样例输出
59
47
35
23
47
提示
从X=23开始试探,步长取2,前4次中,第i次出售后留下:X=X-(X+1)/(i+1),第4次出售后余下11条。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int m;
while(cin>>m){
double ans=11;
for(int i=m-1;i>=1;i--){
ans=(ans*(i+1)+1)/i;
}
cout<<ans<<endl;
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-40766.html