PAT 2-07. 素因子分解(20)

题目链接:http://www.patest.cn/contests/ds/2-08

题目意思:long int范围内的正整数N进行素因子分解。

直接整除即可,不需要素数筛选

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
using namespace std;
 
int main()
{
    long int n;
    cin>>n;
    if(n==1)
    {
        cout<<"1=1"<<endl;
    }
    else
    {
        cout<<n<<"=";
        for(int i=2;i<=n;i++)//从2一直到n
        {
            int k=0;
            if(n%i==0)
            {
                do
                {
                    n/=i;
                    k++;
                }while(n%i==0);
                if(k>1)
                {
                    cout<<i<<"^"<<k;
                }
                else
                {
                    cout<<i;
                }
                if(n/i>0)
                {
                    cout<<"*";
                }
            }
        }
    }
    return 0;
}

  

posted @   职场亮哥  阅读(235)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示