soj1201- 约数
1201: 约数
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 14 Solved: 4 [Submit][Status][Web Board]
Description
我们定义F(n)为n的约数个数(包含1和它本身),例如F(6)=4;
求F(n)想必大家都会,今天UnkelTao想知道的是,[1=<i<=n]最大的F(i)是多少呢?
Input
输入第一行为数据组数 T(T <= 100)。
对于每组数据,只有一个数字 n(1 <= n <= 10^9)
Output
对于每组数据,请在一行中输出两个数,即i从 [1, n]中最大的F(i),输出i和F(i);用一个空格隔开,如果有相同的F(i)输出最小的i。格式见样例。如果使用大数,请用long long而非__int64;(long long大小为10^18次方左右)输入输出则使用(sacnf("%lld",&n)和printf("%lld",n); 或者cin,cout)
Sample Input
3 10 20 30
Sample Output
6 4 12 6 24 8 解法:#include<cstdio>#include<cmath>#include<iostream>#include<cstring>using namespace std;long long ss[10]={2,3,5,7,11,13,17,19,23,29};long long n,da[10],ans,xxx;int js() //计算当前状态下枚举出的数字的因子个数{ int i; long long tot=1; for (i=0;i<10;i++) { if (da[i]==0) break; tot*=(da[i]+1); } return tot;}void search(int x,int tot) //由素数表枚举数{ long long tt,t; t=tot; if (tot*ss[x]>n) { tt=js(); if (tt>ans){ans=tt;xxx=tot;} if (tt==ans) if (tot<xxx) xxx=tot; return; } while (1) { t*=ss[x]; if (t>n) break; da[x]++; search(x+1,t); } da[x]=0;}int main(){ int ttt,ll; long long x,t; cin>>ttt; for (ll=1;ll<=ttt;ll++) { cin>>n; if (n==1){cout<<"1 1"<<endl;continue;} memset(da,0,sizeof(da)); ans=0; search(0,1); cout<<xxx<<" "<<ans<<endl; }}
转载于:https://www.cnblogs.com/mbcxm/p/3187278.html
soj1201- 约数相关推荐
- 图论 + 数论 ---- CF1325E E. Ehab‘s REAL Number Theory Problem (约数个数 + 枚举 + bfs找最小环)[从图结构优化搜索]
题目链接 题目大意: 给你nnn个数,每个数保证约数个数不超过777个.问你从中选出若 干个数的乘积是完全平方数,最少要选择多少个数?,不存在输出-1. 题目思路: 1.每个数约数不超过7个→\rig ...
- Sigma Function LightOJ - 1336[约数和定理]
题目大意:求1到n之间的数因子和是偶数有几个 解题思路:对于任意一个xxx,都有x=p1a1∗p2a2∗p3a3...∗pxas,x的所有约数之和就是sum=(1+p11+p12+..p1a1)∗(1 ...
- 求有多少个数是这个数的约数
引入问题 给你一个长度为nnn的数组,对于里面每一个数求出数组里有多少个数是这个数的约数[除了这个数之外] 解决问题: 逆向思维去枚举质数. acwing1293 #include <bits/ ...
- BZOJ 2137 submultiple(约数,拉格朗日插值求自然数k次幂和)【BZOJ 修复工程】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2137 是 hydro 的 BZOJ ...
- SDOI2015 约数个数和(莫比乌斯反演经典、双上限整除分块)超详细笔记
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 AcWing 1358. 约数个数和(莫比乌斯反演经典.双上限整除分块) #include <c ...
- 【数学专题】约数个数与欧拉函数
整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...
- 0x32.数学知识 - 约数
目录 一.约数 定义 算术基本定理的推论 求NNN的正约数集合 - 试除法 求1~N每个数的正约数集合 - 倍数法 AcWing198. 反素数 二.最大公约数 最大公约数与最大公倍数 更相减损术 l ...
- 【c语言】蓝桥杯算法提高 约数个数
问题描述 输入一个正整数N (1 样例输入 12 样例输出 6 样例说明 12的约数包括:1,2,3,4,6,12.共6个 #include<stdio.h> #include<ma ...
- POJ 2480 (约数+欧拉函数)
题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...
- [SDOI2015]约数个数和【莫比乌斯反演】
[SDOI2015]约数个数和 题意:\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^n\sum{j=1}^md(ij)\) 由结论得\[ans=\sum_{i=1}^n\sum_ ...
最新文章
- Sprint(第十天11.23)
- java万年历计算法定节假日,java获取中国节假日
- JSON语法之JSON 数值
- 移动端的注册登录设计灵感!
- Mysql drop table 原理_mysql事务的实现原理
- 使用struts2中默认的拦截器以及自定义拦截器
- C#Socket客户端
- windows局域网传文件5种常用方法
- 我看过的安全方面的好文章
- hbase scan超时设置_hbase scan limit 10
- AdaBoost 人脸检测介绍(5) : AdaBoost算法的误差界限
- 图画日记怎么画_一年级数学图画日记
- springcloud入门——config分布式配置中心
- ONLYOFFICE权限开发之二
- Leetcode力扣 MySQL数据库 1132 报告的记录II
- 好书分享--生命3.0 人工智能时代人类的进化与重生
- 从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力?
- 什么是固态硬盘?它有什么好处?
- 赵小楼《天道》《遥远的救世主》深度解析(57)“此生得你红颜知己足矣”丁元英和芮小丹终于在一起
- 一款超好用的开源密码管理器?