ACM___________________________

______________白白の屋
posts - 182, comments - 102, trackbacks - 0, articles - 0
//MiYu原创, 转帖请注明 : 转载自 ______________白白の屋

题目地址:
         http://acm.hdu.edu.cn/showproblem.php?pid=1164
题目描述:
         把一个数拆分成素数的乘积.

素数的水题 ,  只要把素数提取出来, 暴力就可以了.
代码如下 :
//MiYu原创, 转帖请注明 : 转载自 ______________白白の屋

#include 
<iostream>
using namespace std;
int num[70001];
int main ()
{
    
for ( int i = 2; i <= 70000++ i )
    {
          
if ( !num[i] )
          
for ( int j = 2; i * j <= 70000++ j )
          {
                num[i
*j] = 1
          } 
    }
    
int N;
    
while ( cin >> N )
    {
           
int n = N;
           
int f = 1;
           
while ( n != 1 )
           {     
                  
int i = 2;
                  
for ( ; i <= 65535++ i )
                  {
                        
if ( !num[i] && n % i == 0 )
                        {
                              
if ( f )
                              {
                                   cout 
<< i; 
                                   f 
= 0;
                              }
                              
else
                              {
                                   cout 
<< "*" << i; 
                              }
                              
break;
                        } 
                  } 
                  n 
/= i;
           } 
           cout 
<< endl;
    }
//    getchar();
    return 0
}

Feedback

# re: HDOJ HDU 1164 Eddy's research I ACM 1164 IN HDU   回复  更多评论   

2011-07-27 12:49 by
超时啦

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理