听灌佬多
  • 板块灌水区
  • 楼主yjy_fywy
  • 当前回复7
  • 已保存回复7
  • 发布时间2025/2/5 11:19
  • 上次更新2025/2/5 15:18:49
查看原帖
听灌佬多
1394418
yjy_fywy楼主2025/2/5 11:19

站外题(一本通上的)求解

题目描述:
把一个合数分解成若干个质因数乘积的形式(即求质因数的过程)叫做分解质因数。分解质因数(也称分解素因数)只针对合数。

输入一个正整数nn,将nn 分解成质因数乘积的形式。 输入:
一个正整数nn

输出:
分解成质因数乘积的形式。质因数必须由小到大,见样例。

样例输入:
36

样例输出:
36=223336=2*2*3*3

提示:
【数据范围】

对于所有数据,2≤n≤20000。

#include <bits/stdc++.h>
#include <string>
#include <algorithm>
using namespace std;
bool is_prime(int qw){
	if(qw==1||qw==0){
		return false;
	}else if(qw==2){
		return true;
	}
	for(int k=2;k*k<=qw;k++){
		if(qw%k==0){
			return false;
		}
	}
	return true;
}
int main(){
	long long a,b=0,c,l,r,m,n,sum=0,ans=0;
	cin>>n;
	cout<<n<<"=";
	for(int i=2;i*i<=n&&is_prime(i)==true;i++){
		if(n%i==0){
			while(n%i==0){
				if(n%i==0){
					if(b==0){
						cout<<i;
						b=1;
					}else{
						cout<<"*"<<i;
					}
					n/=i;
				}else{
					break;
				}
			}
		}
	}
	return 0;
}




2025/2/5 11:19
加载中...