PAT甲1059. Prime Factors (25)

原创 2018年04月16日 20:12:03

注意输入为1时需输出“1=1”

#include <cstdio>
#include <cstdlib>
#include <string.h>
#include <cmath>
#include <algorithm>
using namespace std;

struct factor
{
    long long f;
    int c;
}fac[100010];

bool isprime(long long a)
{
    if(a<=1)return false;
    long long sqr=(long long)sqrt(1.0*a);
    for(long long i = 2;i<=sqr;i++)
    {
        if(a%i==0)return false;
    }
    return true;
}

int main()  
{       
    long long N;
    scanf("%lld",&N);
    long long temp=N;
    long long sqr=(long long)sqrt(1.0*N);
    int num=0;
    for(long long i=2;i<sqr;i++)
    {
        if(isprime(i))
        {
            if(N%i==0)
            {
                fac[num].f=i;
                fac[num].c=0;
                while(N%i==0)
                {
                    fac[num].c++;
                    N=N/i;
                }
                num++;
            }

        }
    }
    if(N>1)
    {
        fac[num].f=N;
        fac[num].c=1;
        num++;
    }
    printf("%lld=",temp);
    if(temp==1)
    {
        printf("1");
    }
    for(int i=0;i<num;i++)
    {
        if(fac[i].c==1)
        {
            printf("%d",fac[i].f);
        }
        else if(fac[i].c>1)
        {
            printf("%d",fac[i].f);
            printf("^");
            printf("%d",fac[i].c);
        }

        if(i!=num-1)
        {
            printf("*");
        }
    }
    printf("\n");
    system("pause");
    return 0;
}

1059. Prime Factors (25)-PAT

1059. Prime Factors (25) 时间限制 50 ms 内存限制 32000 kB 代码长度限制 16000 B ...
  • zoushidexing
  • zoushidexing
  • 2013-07-30 15:06:05
  • 1324

PAT (Advanced Level) 1059. Prime Factors (25) 求所有质因子

Given any positive integer N, you are supposed to find all of its prime factors, and write them in t...
  • tuzigg123
  • tuzigg123
  • 2015-07-27 21:46:44
  • 354

浙大PAT 1059题 1059. Prime Factors

#include #include long int n; int IsPrimer(long n){ int i; for(i=2;i*i
  • Sup_Heaven
  • Sup_Heaven
  • 2014-02-10 09:37:32
  • 1418

PAT-A1059. Prime Factors (25(素数)

注意2、3这种情况,还有下边分开的两块。 #include #include #include #include #include using namespace std; #defin...
  • WeiJJ6608
  • WeiJJ6608
  • 2016-03-06 21:45:48
  • 220

PAT- Prime Factors (25)

题意: 将一个数分解为素数相乘 解答: 1、使用素数去除 2、注意输出格式,因为除到最后n可能等于1,也有可能n本来就等于1,这时候就需要标记来区分输出 具体java代码: import ...
  • zhouyufei0001
  • zhouyufei0001
  • 2016-03-08 23:03:27
  • 156

1059. Prime Factors 解析

分解质因数的问题。我为了减少时间把2-10000的所有素数都计算出来了,存成了一个数组。然后直接一个个的除。 逃。。。 #include #include #include #include...
  • sheepyWYY
  • sheepyWYY
  • 2017-07-26 14:18:04
  • 121

PAT 1059. Prime Factors (25)

1059. Prime Factors (25) 时间限制 50 ms 内存限制 65536 kB 代码长度限制 16000 B ...
  • frozenshore
  • frozenshore
  • 2015-08-22 14:56:08
  • 348

【PAT】1059. Prime Factors (25)

题目链接:http://pat.zju.edu.cn/contests/pat-a-practise/1059 题目描述: Given any positive integer N, yo...
  • realxuejin
  • realxuejin
  • 2013-08-26 20:30:23
  • 1232

1059. Prime Factors (25)解题报告

#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include using na...
  • chr1991
  • chr1991
  • 2016-10-30 17:04:14
  • 157

1059. Prime Factors (25)

1059. Prime Factors (25) #include using namespace std; class CA { public: void run(); long int n...
  • gk2007310201668
  • gk2007310201668
  • 2013-11-17 12:06:05
  • 618
收藏助手
不良信息举报
您举报文章:PAT甲1059. Prime Factors (25)
举报原因:
原因补充:

(最多只允许输入30个字)