(1)用do-while计算1+1/2!+1/3!+1/4!+···前20项的和。代码如下:
public class exercise2 {
public static void main(String args[]) {
int i=1;
int j;
int n;
float sum=0;
do {
j = 1;
n = 1;
do {
n = n*j;
j++;
}while(j<=i);
sum = sum+(1f/n);
i++;
}while(i<=20);
System.out.println("sum= "+sum);
}
(2)一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000之内的所有完数。代码如下:
public class exercise2 {
public static void main(String args[]) {
int i;
int j;
int sum;
for(i=1;i<=1000;i++) {
for(j=1,sum=0;j<=i/2;j++) {
if(i%j==0)
sum+=j;
}
if(sum==i) {
System.out.println("完数: "+i+" 因子为:");
for(j=1;j<i;j++) {
if(i%j==0) {
System.out.print(" "+j+" ");
}
} System.out.println("\n");
}
}
}
}