(1)编写应用程序求 1!+2!+…+10!。
public class jc {
public static void main (String args[]){
double sum=0,a=1;
int i=1;
while(i<=10){
sum=sum+a;
i++;
a=a*i;
}
System.out.println("sum="+sum);
}
}
(2)编写一个应用程序求 100 以内的全部素数。
public class ss{
public static void main (String args[]){
int i,j;
for(i=2;i<=100;i++){
for(j=2;j<=i/2;j++){
if(i%j==0)
break;
}
if(j>i/2){
System.out.print(" "+i);
}
}
}
}
(3)分别用 do-while 和 for 循环计算 1+1/2!+1/3!+1/4!+…的前 20 项和。
public class jc1{
public static void main (String args[]){
double sum=0,t=1;
int i=1,n=20;
do{ //用do_while
sum=sum+t;
i++;
t=t*(1.0/i);
}while(i<=n);
System.out.println("do_while计算结果:"+sum);
for(sum=0,i=1,t=1;i<=n;i++){//用for
t=t*(1.0/i);
sum=sum+t;
}
System.out.println("for计算结果:"+sum);
sum=0;i=1;t=1;
while(i<=n){ //用whlie计算
sum=sum+t;
i++;
t=t*(1.0/i);
}
System.out.println("whlie计算结果:"+sum);
}
}
(4)一个数如果恰好等于它的因子之和,这个数就称为完数。编写应用程序求 1000 之 内的所有完数。
public class wb {
public static void main(String args[]){
int sum=0,i,j;
for(i=1;i<=1000;i++){
for(j=1,sum=0;j<(i/2)+1;j++){
if(i%j==0){
sum=sum+j;
}
}
if(sum==i)
System.out.println("完数:"+i);
}
}
}
(5)编写应用程序,使用 for 循环语句计算 8+88+888+…前 10 项之和。
public class yh8{
public static void main(String args[]){
long sum=0,a=8,t=a,n=10;
for(int i=0;i<=n;i++){
sum=sum+t;
t=t*10+a;
}
System.out.println(sum);
}
}
(6)编写应用程序,输出满足 1+2+3+…+n<8888 的大正整数 n。
public class MN{
public static void main(String args[]){
long sum=0,i=0;
while(sum<8888){
i++;
sum=sum+i;
}
System.out.println(i);
}
}