Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 5050 Accepted Submission(s): 3027
1 #include<iostream> 2 using namespace std; 3 const int maxn=65540; 4 int arr[maxn]={2,3,5,7}; 5 void prime() 6 { 7 bool flag; 8 int k=4; 9 for(int i=11;i<maxn;i++) 10 { 11 flag=true; 12 for(int j=2;j*j<=i;j++) 13 { 14 if(i%j==0) 15 { 16 flag=false; 17 } 18 } 19 if(flag)arr[k++]=i; 20 } 21 } 22 int main() 23 { 24 int n,count; 25 prime(); 26 while(cin>>n) 27 { 28 count=0; 29 while(n!=1) 30 { 31 for(int i=0;n!=1;i++) 32 { 33 if(n%arr[i]==0) 34 { 35 if(count++==0) 36 cout<<arr[i]; 37 else 38 cout<<"*"<<arr[i]; 39 n/=arr[i]; 40 break; 41 } 42 } 43 } 44 cout<<endl; 45 } 46 return 0; 47 }
代码:
1 #include<stdio.h> 2 void show(int a) 3 { 4 int i=1,n=0; 5 while(i<=a&&a!=1) 6 { 7 i++; 8 while(a%i==0) 9 { 10 a/=i; n+=1; 11 printf(n==1?"%d":"*%d",i); 12 } 13 14 } 15 puts(""); 16 17 } 18 int main() 19 { 20 int x; 21 while(scanf("%d",&x)!=EOF) 22 show(x); 23 return 0 ; 24 }