1.什么是完数,怎么理解完数?
2.求s=a+aa+aaa+aaaa+aa……a的值,其中a是一个数字,几个数相加由键盘控制。
我设k是一个随机取得的数字 k=(int)(Math.random()*10)
int sum=0;  //sum为和
for(int i=0;i<n;i++)   //n表示有几个数相加
{
  t=t+s1*k;
  s1=s1*10;
  sum+=t;
  System.out.print(k+"+");
System.out.println("="+sum);
}
这是我写的部分代码,其余部分不知该怎么完善,尤其是输入部分。

解决方案 »

  1.   

    int sum=k;  //sum为和 先计算第一个
    StringBulder buf = new StringBuilder(k)  //记住第一个数
    int t;
    for(int i=1;i<n;i++)  //n表示有几个数相加 

      t = k*10+k;
      sum+=t; 
      buf.append("+").append(t);

    System.out.println(sum + "=" + buf.toString());
      

  2.   


    int sum=k;  //sum为和 先计算第一个 
    //StringBulder buf = new StringBuilder(k)  //记住第一个数 
    System.out.prinf(k);
    int t; 
    for(int i=1;i <n;i++)  //n表示有几个数相加 

      t = k*10+k; 
      sum+=t; 
      //buf.append("+").append(t); 
      System.out.printf("+" + t);

    //System.out.println(sum + "=" + buf.toString()); 
    System.out.println("=" + sum);
      

  3.   


    for (int i = 2; i <= 10000; i++) {
    int sum = 1;
    for (int j = 2; j < i; j++) {
    if (i % j == 0) {
    sum += j;
    }
    }
    if (sum == i) {
    System.out.print(i + "'s factor is: ");
    for (int k = 1; k < i; k++) {
    if (sum % k == 0) {
    System.out.print(k + " ");
    }
    }
    System.out.println();
    }
    }
      

  4.   


    class Prefectnumber {
    public static void main(String arg[]){
     String str="";
     while(str!="exit"){
     String  res="";
     str=javax.swing.JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
     if(str.equals("exit"))
        System.exit(0);
     int N,m,s;
     N=0;
     try{
      N=Integer.parseInt(str);
      }catch(NumberFormatException e){
      e.printStackTrace();
      }
     int i;
     System.out.println();
     for(i=1;i<=N;i++){
      s=0;
      for(m=1;m<i;m++){
      if(i%m==0)
        s+=m;
      }
      if(s==i)
      {
      res=res+"  "+i;
      }
     }
     javax.swing.JOptionPane.showMessageDialog(null,"小于"+N+"的完数有"+res);
    }
     }
    }