#include #include #include

using namespace std;

int main() { vector ugly{1}; // 初始化第一个丑数1 for(int i = 2; i <= 100; ++i) { int num = i; while(num % 2 == 0) { // 能被2整除 num /= 2; } while(num % 3 == 0) { // 能被3整除 num /= 3; } while(num % 5 == 0) { // 能被5整除 num /= 5; } if(num == 1) { // 是丑数 ugly.push_back(i); } }

cout << "第一部分:所有丑数" << endl;
int cnt = 0;
for(int i = 0; i < ugly.size(); ++i) {
    cout << setw(6) << ugly[i]; // setw函数控制输出宽度
    ++cnt;
    if(cnt % 10 == 0) { // 每行输出10个
        cout << endl;
    }
}

cout << "第二部分:丑数个数" << endl;
cout << "个数:" << ugly.size() << endl;

return 0;
输出分为两部分:第一部分输出$1sim 100$之间所有的丑数一行$10$个整数每个整数占$6$个字符。第二部分先输出个数:输出$1sim 100$之间的丑数个数。c++代码

原文地址: https://www.cveoy.top/t/topic/ggQD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录