PAT 갑급 1059 Prime Factors(25점) 본인 폭행 코드 및 구덩이 분석

10912 단어 PAT 등급

1059 프라임 팩터스(25점) 본인 폭행 코드


이 문제는 할 말이 없다. 폭력, 유일한 구덩이는 예시를 입력하는 것이다. 1은 특판이 필요하다!본인 폭력 코드 추가 증정
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long LL;
int isPrime(LL n)
{
    if(n<=1) return -1;
    LL sqr=(int)sqrt(1.0*n);
    for(int i=2;i<=sqr;i++)
    {
    if(n%i==0) return -1;
    }
    return 1;
}
LL tag[100000]={0};
int main()
{

    LL num,num1,temp=2;
    scanf("%lld",&num);
    num1=num;
    while(num>0&&temp<=num)
    {
        while(isPrime(temp))
    {
        while(num%temp==0)
        {tag[temp]++;num=num/temp;}
        if(num%temp!=0)
        {break;}
    }
        temp++;
    }
    if(num1==1)
        printf("%lld=1",num1);
    else{
    printf("%lld=",num1);
    for(int i=0;i<=temp;i++)
    {
        if(tag[i]!=0)
        {
        if(i==temp-1)
        {
            if(tag[i]>1)
            printf("%lld^%lld",i,tag[i]);
            else {printf("%lld",i);}
        }
        else
        {
            if(tag[i]>1)
            {printf("%lld^%lld*",i,tag[i]);}
            else {printf("%lld*",i);}
        }
        }
    }}
}

좋은 웹페이지 즐겨찾기