[AT_ABC106_B]题解(C++)

发布时间 2023-08-18 18:09:30作者: InftySky

Part I Preface

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;
}