首页 > 其他分享 >abc--280--D

abc--280--D

时间:2022-12-04 11:33:49浏览次数:48  
标签:abc -- 质数 int ch ans 280 define

D - Factorial and Multiple

题目大意

找到一个最小的n,使得n的阶乘能整除k

思路

将它化为一堆的质数,然后满足这些质数至少需要多大的数
最后这个找最大的数的时候,直接暴力就可以了,因为不会有很多个质数

代码
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define TT int _=read();while(_--)
#define int long long
//#define double long double
#define endl '\n'
const int inf=1e18;
const int M=1e6+5;
 
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}
 
inline void print(int x) {
    if(x<0){putchar('-');x=-x;}
    if(x/10)print(x/10);
    putchar(x%10+'0');
}
 
int a[M];
char s[M],ss[M];
vector<int>v;
//首先计算质因子,然后呢
map<int,int>mp;
 
signed main() {
    int k=read();
    for(int i=2;i*i<=k;i++)
        while(k%i==0)k/=i,mp[i]++;
    if(k!=1)mp[k]++;
    deque<int>q;
    int ans=0;
    for(auto [x,y]:mp) {
        int cnt=0,i;
        for(i=1;i<=100;i++) {
            int tmp=i;
            cnt++;
            while(tmp%x==0)tmp/=x,cnt++;
            if(cnt>=y)break;
        }//寻找一下满足这个质数的数量,至少需要多大的数
        ans=max(ans,i*x);
    }
    cout<<ans;
    return 0;
}

标签:abc,--,质数,int,ch,ans,280,define
From: https://www.cnblogs.com/basicecho/p/16949557.html

相关文章

  • 2022-2023-1 20221302《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于那个班级 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求  https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14作业目标......
  • 胡言乱语
    很多人说读大专,大学或者是研究生,没有用以前我也觉得如此。后来明白的一个道理。没用的不是学生时期,而是该自己去做的事情,自己有没有去做。再去评判学生时期有没有用。该做......
  • Vue 中 的 mixin 混入(合)
    Vue中的mixin混入(合)1:说明/*##mixin(混入)1.功能:可以把多个组件共用的配置提取成一个混入对象2.使用方式:第一步定义混合:```{dat......
  • Java运算符
    +-*/%publicclassTestDemo1{publicstaticvoidmain(String[]args){System.out.println(5/2);System.out.println((double)(5/2));System.out.println(5.......
  • (一)大白话MySQL执行SQL的流程
    ​​(一)大白话MySQL执行SQL的流程​​​​(二)大白话InnoDB存储引擎的架构设计​​​​(三)大白话MySQLBinlog是什么?​​​​(四)MySQL的BufferPool内存结构​​​​(五)MySQL的Buf......
  • Kubernetes 的 NameSpace 无法删除应该怎么办?
    概述有时候我们操作不规范,或者删除的先后顺序有问题,或者某项关键服务没有启动,导致Kubernetes经常会出现无法删除NameSpace的情况。这种情况下我们应该怎么办?规范删除流......
  • 核心解读 - 2022版智慧城市数字孪生标准化白皮书
    前言:城市数字孪生基本概念当前,城市数字孪生已经发展成为支撑智慧城市的重要技术手段。城市数字孪生通过在数字空间对城市物理空间和社会空间进行全要素表达、全过程呈现、全......
  • 4:File-Java API 实战
    (目录)1.引言文件要区别绝对路径和相对路径,在Win系统中的文件路径和Linux/nuix系统中的路径是不一样的2.绝对路径和相对路径?先学送快递吧!分清文件、文件夹、文件路......
  • Android-操作系统简介01
    01.系统简介1.1Android名词Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件......
  • JS_登录页面
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title>登录界面</title> <scripttype="text/javascript"src="js/login.js"></script> </head> <body>......