zoukankan      html  css  js  c++  java
  • poj 2773 Happy 2006

      简单的欧几里得函数应用。

      f(x,y) = f(y,x%y);

      f(x,y) = f(y*t+x,y) t为非负整数;

      其时这道题还有好多优化,Discuss里面好多大神都弄到了0ms。。。Orz

      我只水过去了。。。。

      G++ 2400++,用C++ TLE....

      特别的注意 1 的情况  RE了好多次

      

     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 long long int rp[1000010];
     7 
     8 long long int gcd(long long int a,long long int b)
     9 {
    10     return b == 0 ? a : gcd(b,a%b) ;
    11 }
    12 
    13 int main()
    14 {
    15     long long int top,n,k,i;
    16 
    17     while(cin>>n>>k)
    18     {
    19         for(i = 1,top = 0;i <= n && top < k; i++)
    20         {
    21             if(gcd(n,i) == 1)
    22             {
    23                 rp[top++] = i;
    24             }
    25         }
    26 
    27         if(k%top == 0)
    28         {
    29             printf("%lld
    ",(k/top-1)*n + rp[top-1]);
    30         }
    31         else
    32         {
    33             printf("%lld
    ",k/top*n + rp[k%top-1]);
    34         }
    35 
    36     }
    37 
    38     return 0;
    39 }
    View Code
  • 相关阅读:
    CSS hacks汇总
    都要靠自己
    不被需要
    我们都是和自己赛跑的人
    其实天底下只有三件事
    开始怀旧了
    JavaScript回调函数陷阱
    郁闷着继续
    清明节悼念逝去亲人
    纯div+css制作的弹出菜单
  • 原文地址:https://www.cnblogs.com/zmx354/p/3292809.html
Copyright © 2011-2022 走看看