demo03---判断素数,完数,水仙花数

博主分享了关于素数、完数和水仙花数的简单程序,计划每日更新博客记录编程实践。目前已知1000以内的完数有6、28、496,水仙花数包括153、370、371、407,后续将探索更优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这三个比较简单,今后每天都会在博客上放一些自己写过的程序,以遍以后没事看看

package day03.src;
import java.util.Scanner;
/**
 * 素数
 * 只能被1和他本身整除的数
 * 初始条件
 * 循环条件
 * */
public class PrimeDemo {
    public static void main(String[] args){
        System.out.println("请输入一个数");
        Scanner sc = new Scanner(System.in);
        int paime = sc.nextInt();
        boolean t=true;
         int i;
         for (i=2;i<paime;i++)
         {
             if(paime%i==0)
             {
                 t=false;
             }
         }
         if(t)
         {
             System.out.println("是素数");
         }
         else
             {
                 System.out.println("是素数");
             }

//        for( i=2;i<paime;i++)      //这里注释的这段代码是另一种方法;两种都可以判断一个数是否是素数
//        {
//            if(paime%i==0)
//            {
//               break;  
//            }
//        }
//        if(paime == i)
//        {
//            System.out.println("是素数");
//        }else{
//            System.out.println("不是素数");
//        }
    }
}

完数

package day04.src;

import java.util.Scanner;
/**
 *完数
 * 所有因子和(除了他本身)==他本身
 *
 */
public class WanNumber {
    public static void main(String[] args) {
        int i;
        for(int num=1;num<=1000;num++) {
           int sum = 0;

            for( i=1;i<num;i++) {
                if(num%i==0) {
                    sum+=i;
                }
            }
            if(num==sum) {
                System.out.println(num);
            }
        }
    }
}

1000以内的完数只有  6    28   496


水仙花数

package day04work.src;

/*水仙花数*///即:三位数的每一位的立方和等于这个三位数本身,那么这个数救是三位数
public class Daffodil {
    public static  void main(String[] args) {
        int sum=0,number;
        for( number=100;number<=999;number++) {
           int num1 = number%10;
           int num10 = number/10%10;
           int num100 = number/100%10;
           sum=num1*num1*num1+num10*num10*num10+num100*num100*num100;
            if(sum==number) {
                System.out.println(number+"是水仙花数");
            }
        }
    }
}

水仙花数只有三位数,即153  370  371  407,以上方法不太好,后面遇到新方法会做出补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值