Untitled
user_5668965
c_cpp
8 months ago
2.0 kB
3
Indexable
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cassert> #include <iostream> #include <sstream> #include <string> #include <vector> #include <queue> #include <set> #include <map> #include <utility> #include <numeric> #include <algorithm> #include <bitset> #include <complex> using namespace std; typedef unsigned uint; typedef long long Int; typedef vector<int> vint; typedef vector<string> vstr; typedef pair<int,int> pint; #define mp make_pair template<class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cout << *i << " "; cout << endl; } template<class T> void pvp(T a, T b) { for (T i = a; i != b; ++i) cout << "(" << i->first << ", " << i->second << ") "; cout << endl; } void chmin(int &t, int f) { if (t > f) t = f; } void chmax(int &t, int f) { if (t < f) t = f; } void chmin(Int &t, Int f) { if (t > f) t = f; } void chmax(Int &t, Int f) { if (t < f) t = f; } void chmin(double &t, double f) { if (t > f) t = f; } void chmax(double &t, double f) { if (t < f) t = f; } int in_c() { int c; for (; (c = getchar()) <= ' '; ) { if (!~c) throw ~0; } return c; } int in() { int x = 0, c; for (; (uint)((c = getchar()) - '0') >= 10; ) { if (c == '-') return -in(); if (!~c) throw ~0; } do { x = (x << 3) + (x << 1) + (c - '0'); } while ((uint)((c = getchar()) - '0') < 10); return x; } Int In() { Int x = 0, c; for (; (uint)((c = getchar()) - '0') >= 10; ) { if (c == '-') return -In(); if (!~c) throw ~0; } do { x = (x << 3) + (x << 1) + (c - '0'); } while ((uint)((c = getchar()) - '0') < 10); return x; } int N; int main() { int n, m, d, c; int ans = 0; N = in(); for (n = 2; n <= N; ++n) { m = n; c = 0; for (d = 2; d * d <= m; ++d) if (m % d == 0) { ++c; for (; m % d == 0; m /= d); } if (m > 1) ++c; if (c == 2) ++ans; } printf("%d\n", ans); return 0; }
Editor is loading...
Leave a Comment