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

  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

  2. 编写应用程序,输出满足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();
     }

    }

}

实验结果:
*




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

转载于:https://www.cnblogs.com/ck11-06/p/11524498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值