首页 > 其他 > 详细

G - Non-Prime Factors Kattis - nonprimefactors (筛1-n内的当前数中非素数的个数)

时间:2019-05-03 21:34:28      阅读:198      评论:0      收藏:0      [点我收藏+]

题目链接:

G - Non-Prime Factors

 Kattis - nonprimefactors 

题目大意:给你一个数n,然后问你n的因子中非素数的个数。

具体思路:埃筛,把每一个数的因子直接算出来就好了。

AC代码:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn = 2e6 + 100;
 4 int vis[maxn];
 5 int sto[maxn];
 6 void init()
 7 {
 8     for(int i=2; i<maxn; i++)
 9     {
10         if(vis[i])// 当为非素数的时候,当前的数的非素数因子个数++
11             sto[i]++;
12         for(int j=i*2; j<maxn; j+=i)
13         {
14             vis[j]=1;
15             if(vis[i])// 当i不是因子,当前的数2*j中一定含有i这个非素数因子
16                 sto[j]++;
17         }
18     }
19 }
20 int main()
21 {
22     init();
23     int T;
24     scanf("%d",&T);
25     while(T--)
26     {
27         int n;
28         scanf("%d",&n);
29         printf("%d\n",sto[n]+1);
30     }
31     return 0;
32 }

 

G - Non-Prime Factors Kattis - nonprimefactors (筛1-n内的当前数中非素数的个数)

原文:https://www.cnblogs.com/letlifestop/p/10806689.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!