UVA10780:Again Prime? No Time(数论)
题意:给定m和n,求出最大的k,使得m^k能整除n的阶乘。
思路:各自分解质因数,然后对比下就能找出k值。
# include <iostream>
# include <cstdio>
# include <cstring>
using namespace std;
const int MAXN = 10000;
int a[MAXN+1]={0}, b[MAXN+1], c[MAXN][2], d[200][2], k=0;void init()
{for(int i=2; i<=MAXN; ++i)if(!a[i]){b[k++] = i;for(int j=i; j<=MAXN; j+=i)a[j] = 1;}
}void fun1(int n, int &cnt)//分解n
{int tmp = n;for(int i=0; i<k; ++i){if(n >= b[i]){c[cnt][0] = b[i];while(tmp){c[cnt][1] += tmp/b[i];tmp /= b[i];}tmp = n;++cnt;}elsebreak;}if(!a[n]){c[cnt][0] = n;c[cnt][1] = 1;++cnt;}
}void fun2(int n, int &cnt)//分解m
{for(int i=0; i<k && b[i]*b[i]<=n; ++i){if(n % b[i] == 0){d[cnt][0] = b[i];for(;n%b[i]==0;d[cnt][1]++,n/=b[i]);++cnt;}}if(n != 1){d[cnt][0] = n;d[cnt][1] = 1;++cnt;}
}int main()
{int t, m, n, cnt1, cnt2, ans,cas=1;init();scanf("%d",&t);while(t--){cnt1 = cnt2 = 0;ans = 0x3f3f3f3f;bool flag = true;memset(c, 0, sizeof(c));memset(d, 0, sizeof(d));scanf("%d%d",&m,&n);printf("Case %d:\n",cas++);fun1(n, cnt1);fun2(m, cnt2);for(int i=0; i<cnt2; ++i){bool ok = false;for(int j=0; j<cnt1; ++j){if(c[j][0] == d[i][0]){if(c[j][1] >= d[i][1]){ok = true;ans = min(ans, c[j][1]/d[i][1]);}elsebreak;}}if(!ok){flag = false;break;}}if(!flag)puts("Impossible to divide");elseprintf("%d\n",ans);}return 0;
}
转载于:https://www.cnblogs.com/junior19/p/6729975.html
UVA10780:Again Prime? No Time(数论)相关推荐
- uva10780 - Again Prime? No time
uva10780 - Again Prime? No time Again Prime? No time. The problem statement is very easy. Given a nu ...
- 《算法入门经典大赛——培训指南》第二章考试
UVa特别考试 UVa站点专门为本书设立的分类题库配合,方便读者提交: http://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...
- [数论系列一]C Looooops,跳跳棋,The Luckiest number,CF906D Power Tower,Minimal Power of Prime,仪仗队,LCMSUM
文章目录 C Looooops description solution code 跳跳棋 description solution code The Luckiest number descript ...
- UVA 1415 - Gauss Prime(数论,高斯素数拓展)
UVA 1415 - Gauss Prime 题目链接 题意:给定a + bi,推断是否是高斯素数,i = sqrt(-2). 思路:普通的高斯素数i = sqrt(-1),推断方法为: 1.假设a或 ...
- 数论(继续补充)(gcd + lcm + qpow + prime+qmul)
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...
- 贡献思想 + 数论 + 思维(例题 Problem J. Prime Game)
首先说一下贡献的思想: 举个例子:已知有n个数,从 ,求 中所有质因数出现的个数. 假设当前数为 6, 7, 5, 5, 4, 9, 9, 1, 8, 12 首先写出他每个数的质因数: 每个数的质因 ...
- 洛谷 - P1217 [USACO1.5]回文质数 Prime Palindromes(欧拉线性筛+数论小知识)
题目链接:点击查看 题目大意:给出一个a和b,求出区间[a,b]中所有回文质数,回文质数指的是一个数既是回文数也是质数 题目分析:首先质数好判断,我们只需要用欧拉筛预处理打好表即可,判断回文数我们也只 ...
- 数论(一)——素数,GCD,LCM
这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...
- 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工
近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...
最新文章
- Pycharm增加新安装Python的路径
- python详解enumerate()方法;
- java中PL层_安装pljava - RuralHunter的个人空间 - OSCHINA - 中文开源技术交流社区
- MVC3学习 一 ViewBag和Html.Raw
- Window服务的创建与删除
- Activiti - 新一代的开源BPM引擎
- java字节输出流方法,Java-IO:File和字节输入输出流
- 【机器学习】Andrew Ng——04多变量线性回归
- Android友盟分享7.1.5版本巨坑
- 怎么把计算机的网络设置为家庭网络连接不上,win7无法设置家庭网络怎么办_教你解决win7无法设置家庭组的方法...
- 5种Alexa世界排名作弊方式(转)
- 编程英语(单词有音标)
- rx7900xt和gtx3090ti差距 rx7900xt和gtx3090ti哪个好
- RAM与ROM的区别
- UOS20编译Qt程序:搭环境、解决bug
- 在Windows程序中打开控制台的程序
- OpenGL | 设置视口glViewport 裁剪glScissor 屏幕截图 glReadPixel
- dataTable 查询,重置
- CIKM 2021 | 基于池化结构搜索的图分类
- 论文阅读——From Image to Imuge: Immunized Image Generation
热门文章
- 条款20 :宁以pass-by-reference-to-const 替换pass-by-value
- 升级 90天 vs2008 在win2008下。
- css初始化样式文件_前端必备技能 webpack 4. webpack处理CSS资源
- 【Linux 内核】进程管理 ( Linux 内核中的进程状态 | TASK_RUNNING | TASK_INTERRUPTIBLE | __TASK_STOPPED | EXIT_ZOMBIE )
- 【数字信号处理】序列傅里叶变换 ( 傅里叶变换物理意义 | 反应信号在整个数字角频率上的能量分布 )
- 【Groovy】Gradle 构建工具 ( 自动下载并配置构建环境 | 提供 API 扩展与开发工具集成 | 内置 Maven 和 Ivy 依赖管理 | 使用 Groovy 编写构建脚本 )
- 【错误记录】Windows 控制台程序编译报错 ( WINDOWS.H already included. MFC apps must not #include <Windows.h> )
- 【错误记录】Mac 中 IntelliJ IDEA 运行 Python 程序报错 ( No module named ‘numpy‘ )
- 【Android 内存优化】Android 原生 API 图片压缩代码示例 ( PNG 格式压缩 | JPEG 格式压缩 | WEBP 格式压缩 | 动态权限申请 | Android10 存储策略 )
- JVM资源分析工具jprofiler使用简介