1.分别用do-while和for循环计算1+1/2!+1/3!+…前20项和
/** * 用do-while计算1+1/2!+1/3!+……的前20项的和 * @Hoagn * */ public class Add2 { public static void main(String[] args) { int i = 1, a = 1; double sum = 0,b = 0; do { a = i * a; b = 1.0 / a; sum = sum + b; i++; }while(i <= 20); System.out.println(sum); } }
for
/** * 用for循环计算1+1/2!+1/3!+……的前20项的和 * @author Hogan * */ public class Add1 { public static void main(String[] args) { int i = 1, a = 1; double sum = 0,b = 0; for(i = 1; i <= 20; i++) { a = i * a; b = 1.0 / a; sum = sum + b; } System.out.println(sum); } }
编程找出1000以内的所有完数。
public class HomeWork05 { public static void main(String[] args){ { int i,j,k; for(i=1;i<1000;i++) { int sum=0; for(j=1;j<i;j++) { if(i%j==0){ sum+=j; } } if(sum==i){ System.out.println(i); } } } } }
用for循环计算8+88+888+...前10项之和。
public class demo49_4_5 { public static void main(String[] args) { long sum=0,item=8; for(int i=1;i<=10;i++) { sum = sum+item; item = item*10+8; } System.out.println(sum); } }
输出满足1+2+3+…+n小于8888的最大正整数
public class Main { public static void main(String args[]) { int i=1,s=0; while(s<8888){ i++; s+=i; } System.out.println(i); } }
1 public class Hello { 2 3 public static void main(String[] args) { 4 int sum=0; 5 int i; 6 for(i=1;sum+i<8888;i++) { 7 sum=sum+i; 8 } 9 System.out.println("sum为:"+sum); 10 System.out.println("最大正整数为:"+(i-1)); 11 } 12 }