老板让写一个方案:
公司一年销售为500万 第一个月为10万 问每月增加 % 多少一年可以可以达到500万。大家帮我算算啊 小女子感激不尽!!!! 有没有代码都行,关键是要结果
公司一年销售为500万 第一个月为10万 问每月增加 % 多少一年可以可以达到500万。大家帮我算算啊 小女子感激不尽!!!! 有没有代码都行,关键是要结果
解决方案 »
- vs2005中viewstate不识别
- vs2005 web注释问题
- 怎样使用ghostscript API 把PDF文件转化成TIFF文件呢?用C#实现
- {{******** 读取 xml 某个元素的值 *********}} 解决问题,马上给分。
- C# MFC菜鸟提问
- 谁有C# FORM的实例项目的教程?
- asp.net怎么做类似于Google,百度那样联想模糊查询
- 给我一个将FrameWork1.0升级到1.1的理由
- 请教多线程的同步问题
- C#从数据库查询出来一个计算公式字符串,使用这个计算公式的时候怎么赋值呢?
- 后台注册脚本,如何获取confirm();的值。。。在线等。。。急。
- UltraWinGrid中加入全选的CheckBox
{
int iYear = 0;
int iTempProfit;
do
{
iTempProfit = (int)(iOriginProfit * (1+fRate));
iYear++;
}while(iTempProfit < iExpectedProfit);
return iYear;
}
二月 10x
三月 10x2(X2次方)
12月 10x*x*x*x*x*...*x(11个x)一月加二月一直加到12月
10+10x+10x2—。。+10x11=500都除以10
x+x2+x3+x11 =50x+x一次放+x二次方+++x11次方=50 这个方程 有解不。 。
最后是10*(1+(1+x)+(1+x)^2+.....(1+x)^11)=500;
也就是
((1+x)^12-1)/(x-1)=50;
反正我是不知道怎么算。
{
double n = 1.0 / 12.0;
double result = Math.Pow(51, n);
Boolean b = true;
double d = 0.0;
while (b)
{
result -= 0.0001;
d = (Math.Pow(result, 12) - 1) / (result - 1);
if (d <= 50)
b = false;
}
Console.WriteLine(result-1);
Console.ReadLine();
}
答案:23.71%
呜呜~~~~(>_<)~~~~ 我也是没有算出来啊
{
decimal start = 100000; decimal total = 0;
//在0%至100%之间循环.
//如果想更精确,那 j += 0.000001M这地方就再加少一点,那样算的时间会很长
for (decimal j = 1.000000M; j < 2.000000M; j += 0.000001M)
{
start = 100000; total = 0; total += start; for (int i = 2; i <= 12; i++)
{
start = start * j;
total += start;
} if (total >= 5000000M)
{
Console.WriteLine(j-1);
break;
}
}
Console.ReadLine();
}
答案为:23.7185%
DoObject(50, 10, 12, 0.00001) End Sub Private Function DoObject(ByVal Total As Int32, ByVal First As Int32, ByVal Month As Int32, ByVal _Point As Double)
Dim ReturnValue As Double = 0
Dim MaxValue As Double = 0
Dim MinValue As Double = 1
Dim Count As Double = 0
Dim BestChoice As Double = 0.618 MaxValue = Total / First
Try
'ReturnValue = CountValue(2, 5)
ReturnValue = (MaxValue - MinValue) * BestChoice + MinValue
Count = AddAllValue(ReturnValue, Month, Total) While ((Count - Total > 0) And (Count - Total > _Point)) Or ((Count - Total < 0) And (Total - Count > _Point)) If (Count - Total > 0) And (Count - Total > _Point) Then
MaxValue = ReturnValue
ReturnValue = MaxValue - (MaxValue - MinValue) * BestChoice
ElseIf ((Count - Total < 0) And (Total - Count > _Point)) Then
MinValue = ReturnValue
ReturnValue = (MaxValue - MinValue) * BestChoice + MinValue
End If Count = AddAllValue(ReturnValue, Month, Total)
End While
Catch ex As Exception End Try
Return ReturnValue
End Function Private Function AddAllValue(ByVal _GiveValue As Double, ByVal _Total As Int32, ByVal _TotalNum As Int32) As Double
Dim _ReturnValue As Double = 0
For i As Int32 = 0 To _Total - 1
_ReturnValue = _ReturnValue + CountValue(_GiveValue, i, 1)
If (_ReturnValue > _TotalNum * 10) Then
Return _ReturnValue
End If
Next
Return _ReturnValue
End Function Private Function CountValue(ByVal GiveValue As Double, ByVal Total As Int32, ByVal Totals As Double) As Double
If (Total = 0) Then
Return 1
End If
If (Total = 1) Then
Return Totals
End If
Return CountValue(GiveValue, Total - 1, Totals * GiveValue)
End Function答案是27.5%把
x=log1.1(500/10) //备注x=1.1为底,50的对数
10(1+x)^(12)=500
x=(((500/10)12次方根)-1)运行calc.exe,结果:
0.3854180248814739790662367917708