博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA 294 294 - Divisors (数论)
阅读量:4647 次
发布时间:2019-06-09

本文共 1048 字,大约阅读时间需要 3 分钟。

UVA 294 - Divisors

题意:求一个区间内,因子最多的数字。

思路:因为区间保证最多1W个数字,因子能够遍历区间。然后利用事先筛出的素数求出质因子,之后因子个数为全部(质因子的个数+1)的积

代码:

#include 
#include
#include
using namespace std;const int N = 35005;int prime[N], pn = 0, vis[N];int t, a, b;int cal(int num) { int ans = 1; for (int i = 0; i < pn && prime[i] <= num; i++) { if (num % prime[i]) continue; int count = 1; while (num % prime[i] == 0) { count++; num /= prime[i]; } ans *= count; } return ans;}void solve() { int ans, Max = 0; for (int i = a; i <= b; i++) { if (Max < cal(i)) { ans = i; Max = cal(i); } } printf("Between %d and %d, %d has a maximum of %d divisors.\n", a, b, ans, Max);}int main() { for (int i = 2; i < N; i++) { if (vis[i]) continue; prime[pn++] = i; for (int j = i; j < N; j += i) vis[j] = 1; } scanf("%d", &t); while (t--) { scanf("%d%d", &a, &b); solve(); } return 0;}

转载于:https://www.cnblogs.com/liguangsunls/p/7025793.html

你可能感兴趣的文章
题解 CF962C 【Make a Square】
查看>>
只读数据文件损坏恢复
查看>>
k8s集群上线web静态网站
查看>>
【转】Impala和Hive的关系
查看>>
IDEA操作git
查看>>
有向图算法之拓扑排序
查看>>
windows 下安装elasticsearch
查看>>
C语言学习12:带参数的main函数,无指定的函数形参,调用库函数处理无指定的函数形参,...
查看>>
禁止某程序联网
查看>>
[LOJ6191][CodeM]配对游戏(概率期望DP)
查看>>
mysql中utf8和utf8mb4区别
查看>>
谈谈源码管理那点事儿(一)——源码管理十诫(转)
查看>>
拒绝switch,程序加速之函数指针数组
查看>>
[你必须知道的.NET]第二十五回:认识元数据和IL(中)
查看>>
.NET中的三种Timer的区别和用法
查看>>
python第三方包安装方法(两种方法)
查看>>
MySQL 索引知识整理(创建高性能的索引)
查看>>
C++ 头文件
查看>>
ZOJ 1008 Gnome Tetravex(DFS)
查看>>
Mysql基础知识:操作数据库
查看>>