UVALive 6396 Factors 反素数!!

刚开始看到,想到是反素数,还有点小鸡冻。。。然而结局是悲伤的T^T,没想到第一篇博客居然是未AC的。。。先留个坑

好吧,发现错误了!!!


#include 
   
   
    
    
#include 
    
    
     
     
#include 
     
     
      
      
#include 
      
      
       
       
#include 
       
       
         #include 
        
          #include 
         
           #include 
          
            #include 
           
             #include 
            
              #include 
             
               #include 
              
                #include 
               
                 #include 
                
                  #include 
                  using namespace std; #define rep(i,n) for(int i=0; i 
                  
                    MAXV * 1.0) return -1; res = res * (n + i) / i; // 总觉得中间过程还是有可能溢出。。。。 /* 这里2B了,可能两个都不能整除,但相乘后可以 if((n + i) % i == 0) { int tmp = (n + i) / i; res = res * tmp; } else { res = res / i; res = res * (n + i); }*/ } return res; } void dfs(ull res,int k,int sum,int lim,ll n) { if(res >= ans) return; if(1 == n) { ans = res; return; } ll mul = 1,tmp = 1,ss; for(int i=1; i<=lim; i++) { if(mul * 1.0 * pri[k] > MAXV * 1.0) break; mul *= pri[k]; if(res * 1.0 * mul > MAXV * 1.0) break; if((tmp = Judge(sum,i)) == -1) break; if(n % tmp != 0) continue; dfs(res * mul,k+1,sum+i,i,n / tmp); } } int main() { //freopen("out.txt","w",stdout); Prime(); MAXV = 1; MAXV = (MAXV << 63) - 1; while(cin>>n) { ans = MAXV; if(n == 1) ans = 2; else dfs(1,0,0,64,n); cout< 
                   
                     <<" "< 
                    
                      <<"\n"; } return 0; } 
                     
                    
                   
                 
                
               
              
             
            
           
          
         
       
      
      
     
     
    
    
   
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值