您的位置:首页 > 编程语言 > C语言/C++

C++ 质数因子 | Java 分解质因数

2018-02-06 20:40 274 查看

C++ 质数因子

题目描述

  输入一个正整数,输出它的所有质数的因子(如180的质数因子为2、2、3、3、5)

样例输入

180

样例输出

2 3 5

#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int i=2;
while(n>=2)
{
if(n%i==0)
{
cout<<i<<" ";
while(n%i==0)
n/=i;
}
i++;
}
}


Java 分解质因数

题目内容

  每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

输入格式

  一个整数,范围在[2,100000]内。

输出格式

  形如: n=axbxcxdn=axbxcxd 或 n=nn=n 所有的符号之间都没有空格,x是小写字母x。

输入样例

18

输出样例

18=2x3x3

import java.util.Scanner;

public class Main {

private static Scanner in;

public static void main(String[] args) {
in = new Scanner(System.in);
while(in.hasNext()) {
int n=in.nextInt();
boolean prime=true;
for(int i=2;i<n;i++) {
if(n%i==0) {
prime=false;
break;
}
}
if(prime==true)
System.out.println(n);
else {
System.out.print(n+"=");
int num=2;
while(n>=num)
{
while(n%num==0) {
System.out.print(num);
n/=num;
if(n/num!=0)
System.out.print("x");
}
num++;
}
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: