51nod 1060 最复杂的数(数论,反素数)
2024-10-16 19:50:21
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1060
题解:可以去学习一下反素数。
#include <iostream>
#include <cstring>
#define inf 1000000000000000007
using namespace std;
typedef unsigned long long ull;
const int M = 1e6 + 10;
ull n , dp[M];
int prime[16] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53};
void dfs(int deep , ull sum , int num) {
dp[num] = min(dp[num] , sum);
for(int i = 1 ; i <= 63 ; i++) {
if(sum > 1e18 / prime[deep]) break;
dfs(deep + 1 , sum * prime[deep] , num * (i + 1));
sum *= prime[deep];
}
}
int main() {
int t;
scanf("%d" , &t);
for(int i = 0 ; i < M ; i++) dp[i] = -inf;
dfs(0 , 1 , 1);
while(t--) {
scanf("%lld" , &n);
int ans;
for(int i = M - 1 ; i >= 1 ; i--) {
if(dp[i] <= n && dp[i] != 0) {ans = i; break;}
}
printf("%lld %d\n" , dp[ans] , ans);
}
return 0;
}
最新文章
- Openfire重新安装
- javascript 函数初探 (六)--- 闭包初探#1
- 一条诡异的insert语句
- WPF的图片操作效果(一):RenderTransform
- 模拟 2013年山东省赛 J Contest Print Server
- Elasticsearch安装和使用
- Codeforces Round #214 (Div. 2) c题(dp)
- 【Shell脚本学习10】Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
- freeCodeCamp:Where art thou
- leveldb源码笔记
- 利用github for windows 工具将本地的内容同步到github上
- UVa 10491 Cows and Cars (概率&;广义三门问题 )
- Windows phone 8 学习笔记(2) 数据文件操作
- Java面试官最常问的volatile关键字
- Mysql加锁过程详解(7)-初步理解MySQL的gap锁
- PostgreSQL date_trunc() 和timestamp
- 10.2.翻译系列:使用Fluent API进行属性映射【EF 6 Code-First】
- [py]Python使用UUID库生成唯一ID(uuid模块)
- Cdq分治整体二分学习记录
- hdu 5000 共存问题->;背包