[AT_ABC106_B]题解(C++)
Part I Preface
- 原题目\(\text{(Luogu)}\)
- 原题目\(\text{(AtCoder)}\)
Part II Sketch
- 给定一个正整数 \(N\)。
- 求出 \(1\sim N\) 所有因数个数为 \(8\) 的数的个数。
Part III Analysis
先输入 \(N\)。遍历 \(1\sim N\) 的每个数,记录每个数的因数个数。若因数个数等于 \(8\),计数器自增。最后输出计数器即可。
Part IV Code
#include <bits/stdc++.h>
using namespace std;
int n;
int ans;
int main(){
cin >> n;
for(int i = 1; i <= n; i += 2){
int cnt = 0;
for(int j = 1; j <= i; j++)
if(!(i % j))
cnt++;
if(cnt == 8)
ans++;
}
cout << ans << '\n';
return 0;
}