质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 0和1不是质数 除了0,1,质数以外其他的数叫合数

题目:

质数判断及质因数分解
   质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

   0和1不是质数

   除了0,1,质数以外其他的数叫合数

代码部分:

C++实现

#include
using namespace std;
void getnum(int &a){		//分解函数
	char str='*';
	cout<>a;
	b=a;
	//判断
	if(a%2==0||a%3==0||a%5==0||a%7==0&&a!=2&&a!=3&&a!=5&&a!=7&&a>0){
		cout<

运行代码:

(1)非质数
质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 0和1不是质数 除了0,1,质数以外其他的数叫合数_第1张图片
(2)质数
质数判断及质因数分解 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 0和1不是质数 除了0,1,质数以外其他的数叫合数_第2张图片

java实现

public class IsPrime {

	void getnum(int a){		//分解函数
		char str='*';
		System.out.print(a+"=");
		while(a%2==0){
			if(a==2){
				str=' ';
			}
			System.out.print(2);
			System.out.print(str);
			a=a/2;
		}
		for(int i=3;i<8;i=i+2){
			while(a%i==0){
				if(a==i){
					str=' ';
				}
				System.out.print(i);
				System.out.print(str);
				a=a/i;
			}
		}
		if(a!=1){
			System.out.println(a);
		}
	}
	public static void main(String[] args) {
		int a,b;
		System.out.println("输入想要判断的数:");
		Scanner sc = new Scanner(System.in);
		a=sc.nextInt();
		b=a;
		//判断
		IsPrime ip = new IsPrime();
		
		if(a%2==0||a%3==0||a%5==0||a%7==0&&a!=2&&a!=3&&a!=5&&a!=7&&a>0){
			System.out.print(b+"不是质数,可分解为:");
			ip.getnum(a);
		}else{
			System.out.print(b+"是质数");
		}
		System.out.println();
		sc.close();
	}

}

运行截图
在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(上机算法,c++,java,c++,算法,java)