zoukankan      html  css  js  c++  java
  • uva11752 The Super Powers

    思路:当一个数的指数是合数的时候那么这个数就符合题目的要求,所以从2到1<<16,开始暴力枚举他们的指数,是合数的就加入set,因为4是最小的合数,所以到1<<16即可。

     1 #include<stdio.h>
     2 #include<algorithm>
     3 #include<iostream>
     4 #include<string.h>
     5 #include<math.h>
     6 #include<set>
     7 #include<queue>
     8 using namespace std;
     9 typedef unsigned long long LL;
    10 bool prime[70];
    11 int ans[70];
    12  LL ak = (LL)(1<<64)-1;
    13 set<LL>val;
    14 set<LL>::iterator it;
    15 int main(void)
    16 {
    17     int i,j;
    18     int cn = 0;memset(prime,0,sizeof(prime));
    19     for(i = 2; i < 64 ; i++)
    20     {
    21         if(!prime[i])
    22         {
    23             for(j = i; (i*j) < 64 ; j++)
    24             {
    25                 prime[i*j] = true;
    26             }
    27         }
    28     }
    29     for(i = 2 ; i < (1<<16); i++)
    30     {  LL tp = 1;
    31        for(j = 1 ; j < 64; j++)
    32        {
    33            if(ak/tp < i)
    34            {
    35                break;
    36            }
    37            else if(prime[j])
    38            {
    39                tp*=(LL)i;
    40                val.insert(tp);
    41            }
    42            else tp*=(LL)i;
    43        }
    44     }int er =0 ;printf("1
    ");
    45     for(it = val.begin(); it!= val.end(); it++)
    46     {   er++;
    47         printf("%llu
    ",*it);
    48     }
    49     return 0;
    50 }
    油!油!you@
  • 相关阅读:
    NOIP前的一些计划
    回文自动机[学习笔记]
    Luogu-3705 [SDOI2017]新生舞会
    01分数规划[学习笔记]
    jvm参数总结
    读懂jstack
    PRODUCER配置加载
    为什么WAIT必须在同步块中
    NIO学习笔记
    dp求最长递增子序列并输出
  • 原文地址:https://www.cnblogs.com/zzuli2sjy/p/5804702.html
Copyright © 2011-2022 走看看