码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 1164 Eddy's research I

时间:2015-02-03 22:45:59      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include<iostream>
 2 #include<cstring>
 3 #include<cstdio>
 4 #include<string>
 5 #include<cmath>
 6 #include<algorithm>
 7 using namespace std;
 8 #define MAX 65535
 9 int prime[MAX+5];
10 bool vis[MAX+5];
11 int index=0;
12 void get_prime(){
13     memset(vis,false,sizeof(vis));
14     int i=2;
15     //int sum=0;
16     for(;i<=MAX;i++){
17         if(!vis[i]){
18             prime[index++]=i;
19         }
20         int j=0;
21         for(;j<index&&i*prime[j]<=MAX;j++){
22             vis[i*prime[j]]=true;
23             //sum++;
24             if(i%prime[j]==0){
25                 break;
26             }
27         }
28     }
29     /*i=0;
30     for(;i<index;i++){
31         cout<<i<<‘ ‘<<prime[i]<<endl;
32     }*/
33     //cout<<"1"<<‘ ‘<<sum<<endl;
34 }
35 int main()
36 {
37     //freopen("INPUT.txt", "r", stdin);
38     get_prime();
39     int n;
40     while(cin>>n){
41         int j=0;
42         for(;j<index&&n>1;j++){
43             if(n%prime[j]==0){
44                 //cout<<j<<"***"<<prime[j]<<endl;
45                 n/=prime[j];
46                 cout<<prime[j];
47                 while(n%prime[j]==0){
48                     n/=prime[j];
49                     cout<<"*"<<prime[j];
50                 }
51                 break;
52             }
53         }
54         for(;j<index&&n>1;j++){
55             while(n%prime[j]==0){
56                     n/=prime[j];
57                     cout<<"*"<<prime[j];
58                 }
59         }
60         cout<<endl;
61     }
62     return 0;
63 }

素数分解与输出,注意输出格式

hdu 1164 Eddy's research I

标签:

原文地址:http://www.cnblogs.com/Deribs4/p/4271100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!