5.8 2.5

一、问题描述

小明将养的一缸金鱼分 5次出售:第 1次卖出全部的一半加 1/2 条:第2次卖出余下的三分之一加 1/3 条;第 3 次卖出余下的四分之一加 1/4 条;第 4 次卖出余下的五分之加 1/5条;最后卖出余下的11 条。试编程求出原来鱼缸中共有多少条鱼。

二、分析金鱼是分5 次出售,每次卖出的方式都相同,因此可以用表达式将每次卖鱼后剩下的条数计算出来。

第1次卖出全部的一半加 1/2条;
第2次卖出余下的三分之一加 1/3条;
第3次卖出余下的四分之一加 1/4 条:
第4次卖出余下的五分之一加1/5条

三、代码

 

#include<iostream>
using namespace std;

int main()
{
int sum = 0; //总金鱼数
int i = 0;
int flag = 0;
double tmp = 0;

for(sum = 11; sum <= 1000; sum++) //穷举范围11~1000
{
tmp = (double)sum;
for(i = 1; i <= 4; i++)
{
tmp = tmp - (tmp + 1) / (i + 1);
}
if(tmp < 11.000001 && tmp > 10.999999) //最后剩下11条(浮点数判断需要考虑精度问题)
{
flag = 1; //找到匹配的结果
break;
}
}
if(flag)
cout<<"金鱼总数为"<< sum;
else
cout<<"error";
return 0;
}

四、结果

 

posted @     阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示