Code Forces 26A Almost Prime

D - Almost Prime
Time Limit:2000MS    Memory Limit:262144KB    64bit IO Format:%I64d & %I64u
Submit Status Practice CodeForces 26A

Description

A number is called almost prime if it has exactly two distinct prime divisors. For example, numbers 6, 18, 24 are almost prime, while 4, 8, 9, 42 are not. Find the amount of almost prime numbers which are between 1 andn, inclusive.

Input

Input contains one integer number n (1 ≤ n ≤ 3000).

Output

Output the amount of almost prime numbers between 1 and n, inclusive.

Sample Input

Input
10
Output
2
Input
21
Output
8

水题。开个数组记录个数。

#include <stdio.h>
#include <string.h>
int flag[3005];
int main()
{
        memset(flag,0,sizeof(flag));
        int n;
        scanf("%d",&n);
        int sum=0;
        for(int i=2;i<=n;i++)
        {
                for(int j=2;j<i;j++)
                        if(i%j==0&&flag[j]==0)
                                flag[i]++;
                if(flag[i]==2)
                        sum++;
        }
        printf("%d\n",sum);
}


你可能感兴趣的:(Code Forces 26A Almost Prime)