第三周课程总结&实验报告(一)

  1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
    实验源码:

package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午15:26:50

  • @author dingP

  • @version

  • @see
    */
    public class One {
    public static void main(String[] args) {
    int count = 0;// 水仙花数个数计数器

     for (int num = 100; num < 1000; num++)
    
     {
    
         int g = num % 10;// 个位
    
         int s = num / 10 % 10;// 十位
    
         int b = num / 100;// 百位
    
         if (g * g * g + s * s * s + b * b * b == num) {
    
             count++;
    
             System.out.print(num + " ");
    
             if (count % 5 == 4)
    
                 System.out.println();
    
         }
    
     }
    

    }

}

实验结果:153 370 371 407

  1. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
    实验源码:

package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午15:30:10

  • @author dingP

  • @version

  • @see
    */
    public class One {
    public static void main(String[] args) {

     int sum = 0;
     int num = 0;
     int a = 1;
     for (int i = 13; i <= 1003; i += 10) { // i+=10的意思i的值每次以10递增
         if (num % 2 == 0) { // 判断num是奇数或偶数,
             a = 1; // 当num为偶数时,a的值为1
         } else { // 当num为奇数时,a的值为-1
             a = -1;
         }
         sum = sum + i * a;
         num++;
     }
     System.out.println("13-23+23-33+43+...+973-983+993-1003的值为: " + sum);
    

    }

}

实验结果:13-23+23-33+43+...+973-983+993-1003的值为: -500

  1. 编程求1!+2!+3!+…+20!。
    实验源码:

package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午20:31:12

  • @author dingP

  • @version

  • @see
    */
    public class One {
    public static void main(String[] args) {

     int sum = 0;
     for (int i = 1; i <= 20; i++) {
         int temp = 1;
         for (int j = 1; j <= i; j++) {
             temp *= j;
         }
         sum += temp;
     }
     System.out.println("1-20阶乘和为:" + sum);
    

    }

}

实验结果:1-20阶乘和为:268040729

  1. 编写Java程序,计算8+88+888+…前10项之和。
    实验源码:
    package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午20:33:23

  • @author dingP

  • @version

  • @see
    */
    public class One {
    public static void main(String[] args) {

     StringBuffer sb = new StringBuffer();
     long sum = 0L;
     long j = 0L;
     for (int i = 0; i < 10; i++) {
         j = Long.valueOf(sb.append("8").toString()).longValue();
         sum += j;
     }
     System.out.println(sum);
    

    }

}

实验结果:9876543200

  1. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
    实验源码:
    for (int i = 1; i <= 1000; i++) {
    int sum = 0;
    for (int j = 1; j < i; j++) {
    if (i % j == 0) {
    sum += j;
    }

         }
         if (i == sum) {
             System.out.println(i);
         }
     }
    

实验结果:6 28 496

  1. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
    实验源码:
    package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午6:33:57

  • @author dingP

  • @version

  • @see
    */
    public class Two {
    public static void main(String[] args) {
    int n = 1;
    long sum = 0;
    do {
    sum = sum + n;
    n++;

     } while (sum <= 8888);
    
     System.out.println(n - 1);
    

    }

}

实验结果:133

  1. 使用for循环打印下面的图形。

实验源码:

package cn.java.day1;

/**

  • Description:

  • Date: 2019年9月15日 下午15:35:32

  • @author dingP

  • @version

  • @see
    */
    public class One {
    public static void main(String[] args) {

     for (int i = 1; i <= 5; i++) {
         for (int m = 0; m < 5 - i; m++) {
             System.out.print(" ");
         }
         for (int j = 1; j <= i; j++) {
             System.out.print("* ");
         }
         System.out.println();
     }
    

    }

}

实验结果:
*




总结:阶乘那个题目我忘了阶乘的概念了,然后我又问了别的同学才知道,做题的时候老是有很多 不会的点。

posted @ 2019-09-15 21:59  入江直树  阅读(196)  评论(0编辑  收藏  举报