文章

11

粉丝

0

获赞

118

访问

2.5k

头像
整除问题 题解:
P1284 上海交通大学机试题
发布于2026年3月2日 15:28
阅读数 232

#include<bits/stdc++.h>
using namespace std;

map<int,int> mp1,mp2;

void factor(int n , map<int,int> &mp){
    for(int i = 2; i <= sqrt(n); i++){
        if(n % i == 0){
            while(n % i == 0){
                n /= i;
                mp[i] ++;
            }
        }
    }
    if(n > 1){
        mp[n] ++;
    }
}

int main(){
    int n,a;
    cin >> n >> a;

    for(int i = 2; i <= n; i++){
        factor(i,mp1);
    }
    factor(a,mp2);

    int k = 1e8;
    for(auto it = mp2.begin(); it != mp2.end(); it++){
        k = min(k, mp1[it->first] / it->secon...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发