老板让写一个方案: 
公司一年销售为500万  第一个月为10万  问每月增加 % 多少一年可以可以达到500万。大家帮我算算啊 小女子感激不尽!!!! 有没有代码都行,关键是要结果

解决方案 »

  1.   

    其实这就是一个等比数列不是,第一个月是10万,第二个月是10*(1+x),x就是那个百分数,第三个月就是10乘以(1+x)的平方,这样一直到第十二个月就是10乘以(1+x)的11次方,利用等比数列的求和公式可以求解,但是有个11次方比较麻烦啊,不知道你们要求精确到零点几……
      

  2.   

    int Evaluation(int iOriginProfit, int iExpectedProfit, float fRate)
    {
        int iYear = 0;
        int iTempProfit;
        do
        {
            iTempProfit = (int)(iOriginProfit * (1+fRate));
            iYear++;
        }while(iTempProfit < iExpectedProfit);
        
        return iYear;
    }
      

  3.   

    一月  10
    二月 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    这个方程 有解不。 。
      

  4.   

    x+     x^2+     x^3  +x^4 ......+x^11 =50
      

  5.   

    这个不太容易
    最后是10*(1+(1+x)+(1+x)^2+.....(1+x)^11)=500;
    也就是
    ((1+x)^12-1)/(x-1)=50;
    反正我是不知道怎么算。
      

  6.   

    static void Main(string[] args)
            {
                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%
      

  7.   


    呜呜~~~~(>_<)~~~~   我也是没有算出来啊
      

  8.   

    double x = Math.Pow(50, 1d / 12) - 1;x = 0.3854
      

  9.   

            static void Main(string[] args)
            {
                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%
      

  10.   

       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            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%把
      

  11.   

    10*(1.1)^(x)=500
    x=log1.1(500/10)  //备注x=1.1为底,50的对数
      

  12.   

    纠正:
    10(1+x)^(12)=500
    x=(((500/10)12次方根)-1)运行calc.exe,结果:
    0.3854180248814739790662367917708