本帖最后由 panettone 于 2011-06-27 15:31:59 编辑

解决方案 »

  1.   

    A0=1000;
    第一年所得:A1=A0*1.2;
    第二年所得:A2=(A1+1000)*1.2=A1*1.2+1000*1.2=A0*1.2^2+1000*1.2;
    .
    .
    .
    第n年所得:An=(An-1+1000)*1.2=A0*1.2^n+1000*1.2+1000*1.2^2+...+1000*1.2^n-1;
    所以An即为所得,观之An由一个指数表达式和一个等比数列前n-1项和组成,结果不难求出。
      

  2.   

    import java.util.*;
    public class Invest{
        public static void main(String[] args){
            System.out.print("请输入起始资金:");
            Scanner cin=new Scanner(System.in);
            int originMoney=cin.nextInt();
            int profit=0;
            System.out.print("请输入加收率:");
            double recircle=cin.nextDouble();
            System.out.print("请输入年份:");
            int year=cin.nextInt();
            for(int i=1;i<=year;i++){
                profit+=originMoney*Math.pow(recircle,i);
                System.out.println("第"+i+"年年度他获得了"+profit);
            }
        }
    }执行结果如下,为了好看赚的钱只用整数
    请输入起始资金:1000
    请输入加收率:1.2
    请输入年份:10
    第1年年度他获得了1200
    第2年年度他获得了2640
    第3年年度他获得了4368
    第4年年度他获得了6441
    第5年年度他获得了8929
    第6年年度他获得了11914
    第7年年度他获得了15497
    第8年年度他获得了19796
    第9年年度他获得了24955
    第10年年度他获得了31146
      

  3.   


    public class HelloWorld{
    public static void main(String args[]){
    System.out.println(fn(Integer.valueOf(args[0])));
    } public static double fn(int n){
    if(0 == n){
    return 1000;
    }
    if(1 == n){
    return 1000*(1+0.2);
    }
    return (fn(n-1)+1000)*(1+0.2);
    }
    }运行结果:D:\>java HelloWorld 0
    1000.0D:\>java HelloWorld 1
    1200.0D:\>java HelloWorld 2
    2640.0D:\>java HelloWorld 3
    4368.0D:\>java HelloWorld 4
    6441.599999999999D:\>java HelloWorld 5
    8929.919999999998D:\>java HelloWorld 6
    11915.903999999997
      

  4.   


    mport java.util.Scanner;
    public class Cs21 {
    public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
    System.out.println("请输入n:");
    int n=sc.nextInt();
    System.out.println(f(n));
    }
    public static double f(int n){
    if(n==1)
    return 1200;
    else 
    return (f(n-1)+1000)*1.2;
    }}
      

  5.   

    public class Xwt {
    public static void main(String[] args) {
    Xwt x = new Xwt();
    System.out.println(x.machMoney(3));

    public double machMoney (int a) {
    double money = 0.0;
    for(int i=0; i<a; i++) {
    money += 1000;
    money = money * 1.2;
    }
    return money;
    }
    }
      

  6.   

    import java.util.Scanner;public class Test {
    public static void main(String args[]) {
    Scanner sc = new Scanner(System.in);
    System.out.print("请输入年份:");
    int n = sc.nextInt();
    calculate(0,n,1);
    }

    public static void calculate(int sum, int year, int i) {
    if(i <= year) {
    sum = (int)((sum + 1000) * 1.2);
    System.out.println("第" + i + "年获得钱:" + sum);
    i++;
    calculate(sum,year,i);
    }
    }
    }