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

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

时间:2019-05-03 22:36:02      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:scan   c代码   problem   -o   code   print   its   ons   cto   

题目链接:

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内的当前数中非素数的个数)

标签:scan   c代码   problem   -o   code   print   its   ons   cto   

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

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