请教一个简单的提成问题
一个很简单的提成题目,投入钱10元起计,提成为10%,提成大于1元则继续投入,继续提成10%,直至提成小于1为止,假设现在已知需要达成的目标利润,那计算最小投入多少?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace tuiguangyuan
{
class Program
{
static void Main(string[] args)
{
double lrsum,tc;//设定利润总和lrsum,提成tc
int mblr,money;//设定目标利润和投入
lrsum = 0;
Console.WriteLine("请输入你的目标利润:");
mblr = int.Parse(Console.ReadLine());//需要达成的目标利润
money = 10;//投入10元起
while (lrsum < mblr)
{
tc = money * 0.1;
lrsum = tc;
while (tc > 1)
{
tc = tc * 0.1;
lrsum += tc;
}
money++;
}
Console.WriteLine("你输入的目标利润是:{0}", mblr);
Console.WriteLine("预期需要的钱是:{0}", money);
Console.ReadKey( );
}
}
}
问题出来了,假定我需要达成100元利润,实际投入901就能达成了,可现在计算出来是902,
除了把 Console.WriteLine("预期需要的钱是:{0}", money);
换成 Console.WriteLine("预期需要的钱是:{0}", money-1)的方法外,可以不可以让这个money不用减1,直接达成要求呢?希望能帮我解惑!
------解决方案--------------------
while (true)
{
tc = money * 0.1;
lrsum = tc;
while (tc > 1)
{
tc = tc * 0.1;
lrsum += tc;
}
if(lrsum < mblr)
money++;
else
break;
}