质因数分解

cpp 复制代码
#include <stdio.h>

int main() 
{
    long long x;
    
    while (scanf("%lld", &x) != EOF) 
    { // 读取输入直到文件结束
        if (x == 0) break; // 如果输入为0则退出循环
        
        for (long long i = 2; i * i <= x; ++i) 
        {
            while (x % i == 0) 
            { // 当x能被i整除时
                printf("%lld ", i); // 输出质因数i
                x /= i; // 将x除以i
            }
        }
        
        if (x > 1) 
        { // 如果x大于1,那么它本身就是一个质数
            printf("%lld ", x);
        }
        
        printf("\n"); // 每组输出一行
    }
    
    return 0;
}

1.把握好数学上质数的性质

2.能用for循环解决的问题尽量避免数组,现阶段使用数组会使问题复杂化

相关推荐
Fency咖啡6 分钟前
redis进阶 - 底层数据结构
数据结构·数据库·redis
2201_7578308734 分钟前
泛型的细节
java·开发语言·数据结构
leoufung1 小时前
贪心算法理论与应用——以股票买卖问题为例
算法·贪心算法
墨雪不会编程1 小时前
数据结构—排序算法篇三
数据结构·算法·排序算法
CoovallyAIHub1 小时前
外科医生离手术世界模型还有多远?首次提出SurgVeo基准,揭示AI生成手术视频的惊人差距
深度学习·算法·计算机视觉
t198751281 小时前
基于ELM算法在近红外光谱和拉曼光谱数据处理
算法
xqlily2 小时前
Prover9/Mace4 的形式化语言简介
人工智能·算法
资深web全栈开发2 小时前
二分搜索中 `right = mid` 而非 `right = mid + 1` 的解释
算法·rust·二分搜索
狮子也疯狂3 小时前
基于Django实现的智慧校园考试系统-自动组卷算法实现
python·算法·django