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);}
}
}
}}
}