哈利波特与密室

TimeLimit: 2000/1000 MS (Java/Others)  MemoryLimit: 65768/65768 K (Java/Others)
64-bit integer IO format:%I64d
未提交 | 登录后收藏
Problem Description
         终于就要到了开学的日子,哈里再也不用忍受他姨夫一家了,可是哈利却受到小精灵多比的阻止后仍回到学校,学校发生了一系列“恐怖”事件—学生莫名其妙被石化,墙上出现了恐怖的血字...人们怀疑是蛇怪所为,但偏偏哈利会蛇语。原来是伏地魔把自己年轻时的灵魂碎片保存与日记中,利用日记控制了罗恩的小妹妹金妮。哈利通过赫敏的指引进入密室,在邓不利多凤凰的帮助下用格兰芬多剑杀死了蛇怪,毁灭了日记本,解救了金妮。就在这个学期的课程中却时常被贵族子弟马尔福取笑,这一天,马尔福又来用魔法来玩哈里的朋友维恩,哈里看不下去,就上去打抱不平,可是马尔福却对哈里说如果哈里能够算出一道题就放过维恩,哈里当然接受了,问题是:给出一个整数n,求一个数x,x在1到n之间,并且x/φ(x)最大(其中φ(x)为x的欧拉函数)。下面给大家普及一下欧拉函数。
int eular(int n){
   int ret=1,i;
   for(i=2;i*i<=n;i++){
      if(n%i==0){
          n/=i;ret*=i-1;
          while(n%i==0){
              n/=i;ret*=i;
          }
      }
    }
    if(n>1) ret*=n-1;
    return ret;
}
那么哈里是如何解决这个问题的呢?就请大家来尝试一下吧!
Input
第一行是 T 表示有多少组测试样例,每一组测试样例都有一个n(2 ≤ n ≤ 10^100).
Output
输出在(1—n)中x/φ(x)的最大值。 如果有多个一样的最大值,就去最输出最小的那个x!
SampleInput
2
10
100
SampleOutput
6
30
Submit
题目统计信息详细
总AC数8
通过人数7
尝试人数10
总提交量34
AC率20.59%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: