约数个数定理及实现
来源:互联网 发布:cad软件全称 编辑:程序博客网 时间:2024/05/22 03:37
约束个数定理:
对于一个大于1正整数n可以分解质因数:n=p1^k1*p2^k2*p3^k3.......
则约数个数x=(k1+1)*(k2+1)*(k3+1)*......
1:给你一个n求出最小的约束为n个的数。
2:求n以内约数个数最多的数,如果有多个输出最小值。
基本和上题一样。
对于一个大于1正整数n可以分解质因数:n=p1^k1*p2^k2*p3^k3.......
则约数个数x=(k1+1)*(k2+1)*(k3+1)*......
1:给你一个n求出最小的约束为n个的数。
思路:建树搜索,以每一个pi为一层建树搜索。
#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;#define ll long longconst ll maxm = 1e18;ll ans, n;int prime[10] = { 2,3,5,7,11,13,17,19,23,29 };void dfs(int a, int b, ll temp);int main(){while (scanf("%d", &n) != EOF){ans = maxm;dfs(1, 0, 1);printf("%I64d\n", ans);}return 0;}void dfs(int a, int b, ll temp){if (a == n&&ans >= temp)ans = temp;if (a >= n)return;for (int i = 1;i <= 64;i++){if (ans / prime[b] < temp)break;temp *= prime[b];dfs(a*(i + 1), b + 1, temp);}}
2:求n以内约数个数最多的数,如果有多个输出最小值。
基本和上题一样。
#include<stdio.h>#include<string.h>#include<algorithm>#include<iostream>using namespace std;#define ll long longconst int ll maxm = ~0ULL;ll n, ans, sum = 0;int p[16] = { 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53 };void dfs(int a, int b, ll temp);int main(){while (cin >> n){ans = maxm;sum = 0;dfs(1, 0, 1);cout << ans << endl;}return 0;}void dfs(int a, int b, ll temp){if (b >= 16)return;if (a >= sum){if (a > sum){sum = a;ans = temp;}else if (a == sum&&temp < ans)ans = temp;}for (int i = 1;i <= 64;i++){if (temp*p[b] > n)break;temp *= p[b];dfs(a*(i + 1), b + 1, temp);}}
0 0
- 约数个数定理及实现
- 约数个数定理
- 约数个数定理
- 约数个数定理
- 约数个数定理 和 约数和定理
- 约数个数定理and约数和定理
- 约数定理(约数个数定理,约束和定理)
- hdu 1492 约数个数定理
- 约数个数及约数和
- 约数个数定理(hihoCoder144周)
- HDU 6069 Counting Divisors (约数个数定理)
- HDU6069-Counting Divisors(约数个数定理)
- hdu6069Counting Divisors(约数个数定理)
- HDU 6069 Counting Divisors【约数个数定理】
- poj1845(唯一分解定理,等比数列求和,约数个数公式)
- HDU6069-Counting Divisors 约数个数定理+素数分解
- HDU 6069 Counting Divisors【素数筛】【约数个数定理】
- bzoj1225 [HNOI2001] 求正整数 约数个数定理+对数
- 《c和指针》(一)
- 附带文件操作的通讯录,可以实现链表到文件的写入以及文件到链表的读取
- 戏说春秋一大义灭亲
- 线程的停止、守护线程、join()方法
- 两段代码掌握php session
- 约数个数定理及实现
- Struts2框架安全缺陷
- ActiveMQ消息的延时和定时投递
- v4l2 ioctl 学习总结
- Excel获取Sheet表名
- ROS机器人Diego 1#制作(十二)SLAM导航的配置
- c++小知识点5.0
- SW4Stm32开发环境搭建
- 面试题4附加答案