栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PAT Prime Factors

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PAT Prime Factors

Prime Factors

给定任何正整数N,你应该找到它的所有质因数,并将它们写成格式…
输入规格:
每个输入文件包含一个测试用例,它给出一个正整数N在long int。
有个情况当n == 1的情况特殊判断一下

#include "bits/stdc++.h"
#define int long long
using namespace std;
const int N = 1e5 + 10;
bool p[N];
vector v;
vector res;
void prime() {

    for(int i = 2; i * i <= 1e10; i++) {
        if(!p[i]) {
            v.push_back(i);
            for(int j = i * i; j < N; j += i) {
                p[j] = true;
            }
        }
    }
}

vector ans;

bool dfs(int x) {
    
    if(ans.size() == res.size()) {
        return x == 1;
    }
    
    int d = ans.size();
    int val = 1;
    for(int i = 1; val <= x; i++) {
        val *= res[d];
        if(x % val == 0) {
            ans.push_back(i);
            if(dfs(x / val)) return true;
            ans.pop_back();
        }
    }
    return false;
}

signed main() {

    int n;
    cin>>n;
    if(n == 1) {
        printf("1=1"); // 特殊判断
        return 0;
    }
    prime();
    for(int i = 0; i < v.size() && v[i] <= n; i++) {
        if(n % v[i] == 0) {
            res.push_back(v[i]);
        }
    }

    if(res.size() == 0) {
        cout<
            if(ans[i] != 1) {
                cout<<'*'<
                cout<<'*'<
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号