文章

43

粉丝

24

获赞

293

访问

6.6k

头像
质因数个数 题解:计算机小白的拙劣题解
P1156 清华大学上机题
发布于2025年2月12日 12:00
阅读数 223

#include <bits/stdc++.h>
using namespace std;
//质因数:质因数就是一个数分解成最基础的质数相乘的形式,这些质数就叫它的质因数
//每个数的质因数分解是唯一的(比如12只能是2×2×3) 
//思路: 判断一个数是不是素数,即用它除以小于其根号的数[2-sqrt(i)],若能整除 则说明非素数
//若一个数既是素数,又能被n整除,说明其为素因数
int issu(int a) {//判断一个数是否为素数 
    for(int i=2;i<=sqrt(a);i++){
        if(a%i==0)
            return 0;//非素数 
    }
    return 1;//素数 
}
int main(){
    int n;
    while(cin>>n) {
        int ans=1;//最终答案(由于最终停止循环时n为素数,所以答案初始值设为1) 
        while(issu(n)!=1) {//若n不是素数则继续循环 
            for(int i=2;i<=sqrt(n);i++){//找质因数 
                if(issu(i)==1&&n%i==0){//若为质因数 
   &nb...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发