寒假我太摸鱼了

牛牛最近做了这么一道题:

"对于一给定的 n(1≤n≤109)n(1\leq n\leq 10^{9})n(1≤n≤109),计算ϕ(n)\phi(n)ϕ(n), 之中 ϕ(x)\phi(x)ϕ(x)是满足1≤y≤x1\leq y \leq x1≤y≤x 且 gcd(x,y)=1gcd(x,y)=1gcd(x,y)=1的yyy的个数。例如: ϕ(6)=2\phi(6)=2ϕ(6)=2、ϕ(5)=4\phi(5)=4ϕ(5)=4."

牛牛一眼看出这就是欧拉函数,于是立刻用嘴巴解决了这道题。

牛牛意犹未尽,于是他又给你出了一道题。对于一个正整数 xxx,牛牛定义H(x)H(x)H(x) :

H(x)=ϕ(x)xH(x)=\frac{\phi(x)}{x}H(x)=xϕ(x)​

牛牛还规定,该函数的定义域为除了111的所有正整数。

于是,牛牛给出了一个整数nnn,想要你回答两个关于H(x)H(x)H(x)的问题:

1、 回答一个 x0∈[2,n]x_{0}\in [2,n]x0​∈[2,n],使得 H(x0)H(x_{0})H(x0​) 取到 H(x)H(x)H(x) 在 [2,n][2,n][2,n]的最小值。若存在多个这样的x0x_0x0​,输出最小的一个。

2、 回答一个 x0∈[2,n]x_{0}\in [2,n]x0​∈[2,n],使得 H(x0)H(x_{0})H(x0​) 取到 H(x)H(x)H(x) 在 [2,n][2,n][2,n]的最大值。若存在多个这样的x0x_0x0​,输出最大的一个。

输入描述:


第一行为一个整数T(1≤T≤100)T(1\leq T \leq 100)T(1≤T≤100),表示测试组数。

接下来的TTT行,每行包括一个整数n(1≤n≤109)n(1\leq n \leq 10^{9})n(1≤n≤109),牛牛给出的整数。

输出描述:


对于每个测试用例,输出两个空格分割的整数,依次为你对牛牛两个问题的答案。

特别的,若n=1n=1n=1,请输出−1-1−1表示H(1)H(1)H(1)没有定义。

示例1

输入

复制3 2 5 1

3
2
5
1

输出

复制2 2 2 5 -1

2 2
2 5
-1

说明

第二组样例中,H(1)H(1)H(1)未定义,H(2)=12,H(3)=23,H(4)=24,H(5)=45H(2)=\frac{1}{2},H(3)=\frac{2}{3},H(4)=\frac{2}{4},H(5)=\frac{4}{5}H(2)=21​,H(3)=32​,H(4)=42​,H(5)=54​。

• 问题一的答案为2、2×3、2×3×5、2×3×5×7......这些前若干个素 数的积中,最大的且不超过n的那一个,如n=233,则答案为 2×3×5×7=210。

• 问题二的答案为[2,n]中最大的素数。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
ll prime[20]= {0,2,3,5,7,11,13,17,19,23,29,31,37,41};
ll t, n;
inline bool isP(ll x)
{if(x<=3)    return true;for(ll i=2; i*i<=n; i++){if(n%i==0)    return false;}return true;
}
int main ()
{cin>>t;while(t--){cin>>n;if(n==1){cout<<-1<<endl;continue;}ll now=1,i=1;while(now*prime[i]<=n){now*=prime[i];i++;}printf("%lld ",now);while(!isP(n)){n--;}printf("%lld\n",n);}return 0;
}

寒假的牛客训练赛1补题相关推荐

  1. QLU—新生训练赛002补题

    I.十进制中的二进制 解题方法:直接把给定范围内的有0和1组成的数暴力输出,然后开个数组把这些数放进去,进而在数组中找要求的范围内符合条件的数就行了(一开始做的时候还以为有什么规律...一直在找规律, ...

  2. 牛客训练赛10 B栈和排序(栈)

    题目大意: 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序列 因为要按照字典序输出,直接做一遍循环 ...

  3. 牛客小白月赛25 补题+题解[A-J]

    加油加油加油! 文章目录 A.AOE还是单体? B.k-size字符串 C.白魔法师 D.抽卡 E.点击消除 F.疯狂的自我检索者 G.解方程 H.神奇的字母(二) I.十字爆破 J.异或和之和 A. ...

  4. J - Sum(南京预选赛周末训练赛)补题

    题意:(square-free integer )无平方整数是除了1以外不被其它整数的平方除的数. 一个数n = ab,问你有多少个a,b的组合,a,b都是无平方整数,用f(n)表示,让你求 思路:首 ...

  5. 牛客网赛码网 输入输出格式

    目录 牛客网&赛码网输入输出 牛客网 单行输入 多行输入,每一行是一个测试样例 多个测试用例,每个测试用例有多行 赛码网 单个输入,单个输出 单行多个输入,单行多个输出,空格分割 多个测试案例 ...

  6. 牛客网赛码网 输入输出格式 pythonC++

    牛客网&赛码网 输入输出格式 python&C++ Note: 你的程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,举个例子,你可以使用c语言的scan ...

  7. 牛客巅峰赛12th C.一起来看流星雨(旋转卡壳三分)

    牛客巅峰赛12th C.一起来看流星雨(旋转卡壳&三分) 题意:给定二维平面nnn个点,每个点有个速度向量,求最开始距离最远的两个点在运动过程中的最小距离. 思路:求距离最远的两个点就凸包gr ...

  8. LeetCode 牛客网 C++ 算法 刷题必备基础知识

    LeetCode 牛客网 C++ 算法 刷题必备基础知识 {ignore} 文章目录 LeetCode 牛客网 C++ 算法 刷题必备基础知识 {ignore} main综合模板 数组排序库 字符串库 ...

  9. 牛客网【每日一题】3月25日 tokitsukaze and Soldier

    牛客网[每日一题]3月25 题号:NC50439 名称: tokitsukaze and Soldier 来源:练习赛50-C 链接: link. 来源:牛客网 时间限制:C/C++ 1秒,其他语言2 ...

最新文章

  1. 如何面对“大概什么时候能完成?”
  2. YCSB benchmark测试mongodb性能——和web服务器测试性能结果类似
  3. 号外号外!RancherOS v1.2.0发布啦!
  4. 前滴滴出行产品经理刘飞:写给产品经理的说明书(下)
  5. linux上设置git高亮
  6. Java连接SQL2005及SQL Server JDBC Driver 2.0中sqljdbc.jar和sqljdbc4.jar的区别
  7. Nginx 笔记与总结(13)Nginx 的 gzip 压缩
  8. 逆向某网站sign签名算法
  9. 四张照片合成一张怎么弄_我在朋友圈发了这张照片后,所有人都求问教程
  10. Centos VNC 远程桌面程序的安装使用
  11. 支持移动触摸的jQuery图片Lightbox插件
  12. 手摸手带你 App 爬虫入门
  13. 【HDU4622】Reincarnation
  14. STM32F1基于正点原子HAL库IIC驱动SH1106芯片的OLED屏
  15. Java项目校园兼职平台(含代码)
  16. 【TS】<T> 泛型
  17. Arduino学习总结(未完待续)
  18. 在Windows Media Player 12中更新元数据和封面
  19. 帝国cms 评论 审核 php,帝国cms评论怎么做
  20. Windows Update彻底禁用/禁用后自动开启的解决办法

热门文章

  1. react项目中使用阿里播放器播放视频,包括切换视频,播放定时跳转(兼容ios和andro),播放完成
  2. ubuntu14.04+cuda6.5+opencv2.4.9+cuda-convnet2配置
  3. JavaScript id_JavaScript实现五子棋小游戏_javascript技巧
  4. 如何从 OpenVINO 的主分支构建 Python Wheel 包
  5. 第28章 LTDC—液晶显示中英文
  6. 地方门户网站盈利的“达摩五指”
  7. centos6 更新xorg导致进入不了登录界面---intel(1): pEnt-device-identifier=(nil)
  8. 111. Minimum Depth of Binary Tree
  9. HTM5新手学习的一些日常总结,相互交流和相互学习。
  10. 美元兑人民币今天涨156个基点达到6.4044,人民币是否会持续贬值???