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);
}
这是我写的部分代码,其余部分不知该怎么完善,尤其是输入部分。
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);
}
这是我写的部分代码,其余部分不知该怎么完善,尤其是输入部分。
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());
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);
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();
}
}
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);
}
}
}