标签:pat
代码:
#include<cstdio> #include<cstring> #include<iostream> using namespace std; int prime(int n) { if(n==2||n==3) { return 1; } if(n%6!=1&&n%6!=5) return 0; for(int i=5;i*i<=n;i+=6) { if(n%i==0||n%(i+2)==0) return 0; } return 1; } int main() { int n; while(scanf("%d",&n)==1) { if(n==1) { printf("1=1\n"); continue; } if(prime(n)==1) { printf("%d=%d\n",n,n); continue; } int N=n; int k=0; int cnt=0; printf("%d=",n); for(int i=2;i*i<=n;i++) { k=0; while(N%i==0) { N=N/i; ++k; } if(k) { if(cnt>0) printf("*"); printf("%d",i); if(k>1) printf("^%d",k); cnt++; } if(N==1) break; if(prime(N)) { printf("*%d",N); break; } } printf("\n"); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:pat
原文地址:http://blog.csdn.net/xky1306102chenhong/article/details/47779491