继续做了 昨晚未完成的编程的题目
(3) 分别用do-while 和for 循环计算1+1/2!+1/3!+1/4!+...的前20 项和。
do-while
package E;
public class E {
public static void main(String args[]) {
double sum=0,s=1;
int i=1,n=20;
do {
sum=sum+s;
i=i+1;
s=s*(1.0/i);
}while(i<=n);
System.out.println("sum="+sum);
}
}
package E;
public class E {
public static void main(String args[]) {
double sum=0,s=1;
int i,n=20;
for(i=1;i<=n;i++) {
sum=sum+s;
i=i+1;
s=s*(1.0/i);
}
System.out.println("sum="+sum);
}
(4)一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求1000内的所有完数。
package E;
public class E {
public static void main(String args[]) {
int i,j;
for(i=1;i<=1000;i++) {
int sum=0;
for(j=1;j<i;j++) {
if(i%j==0) {
sum=sum+j;
}
}
if(sum==i) {
System.out.println(i);
}
}
}
}
(5) 编写应用程序,使用for 循环语句计算8+88+888+..前10 项之和。
package E;
public class E {
public static void main(String args[]) {
long sum=0,a=0,b=0;
for(int i=1;i<=10;i++) {
b=b*10;
b=b+1;
a=8*b;
sum=sum+a;
System.out.println(a);
}
System.out.println("sum="+sum);
}
}
6) 编写应用程序,输出满足1+2+3+...+n<8888 的最大正整数n。
package E;
public class E {
public static void main(String args[]) {
int n=1,sum=0;
while(sum<8888){
sum=sum+n;
n++;
}
System.out.println("1+2+3+4...+n<8888 n的最大正整数为:"+(n-1)+" 得出最大的结果为:"+(sum-n));
}
}
昨天做的四级题目 我还是好差啊 错很多 唉 听力对于我....每天听英语新闻都不能挽救我的 听力能力