• Reflect


    Reflect

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 288    Accepted Submission(s): 174


    Problem Description
    We send a light from one point on a mirror material circle,it reflects N times and return the original point firstly.Your task is calcuate the number of schemes.


     
    Input
    First line contains a single integer T(T10) which denotes the number of test cases.

    For each test case, there is an positive integer N(N106).
     
    Output
    For each case, output the answer.
     
    Sample Input
    14
     
    Sample Output
    4
     





    白痴互质求法:
    #pragma comment(linker, "/STACK:1024000000,1024000000")
    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    #include <string>
    #include <queue>
    #include <string.h>
    #include <map>
    #include <set>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    using namespace std;
    #define eps 1e-8
    #define INF 20000000005
    #define rd(x) scanf("%d",&x)
    #define rdLL(x) scanf("%I64d",&x)
    #define rd2(x,y) scanf("%d%d",&x,&y)
    #define ll long long
    #define mod 998244353
    #define maxn 100005
    #define maxm 1000
    #define minn 0.00000001;
    
    bool judge(int a,int b){
       int temp=0;
        while(b!=0){
            temp=b;
            b=a%b;
            a=temp;
        }
        if(a==1) return 1;//如果最大公约数是1,那么两数互质
        else return 0;
    }
    
    int main()
    {
        int Case,n;
        rd(Case);
        while(Case--){
            rd(n);
            int coun = 1;
            for(int i=2 ; i<n+1 ; i++)
                if( judge(i,n+1) )
                    coun++;
            printf("%d
    ",coun);
        }
        return 0;
    }
    




    欧拉函数:(两种方式)
    #pragma comment(linker, "/STACK:1024000000,1024000000")
    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    #include <string>
    #include <queue>
    #include <string.h>
    #include <map>
    #include <set>
    #include <vector>
    #include <algorithm>
    #include <stdlib.h>
    using namespace std;
    #define eps 1e-8
    #define INF 20000000005
    #define rd(x) scanf("%d",&x)
    #define rdLL(x) scanf("%I64d",&x)
    #define rd2(x,y) scanf("%d%d",&x,&y)
    #define ll long long
    #define mod 998244353
    #define MAX 1000005
    #define maxm 1000
    #define minn 0.00000001;
    
    ///但个数的的欧拉函数
    //long long eular(long long n){
    //  long long ans = n;
    //  for(int i=2 ; i*i <= n ; i++){
    //     if(n%i == 0){
    //        ans = ans - ans/i;  ///欧拉函数
    //        while(n%i == 0)
    //            n = n/i;
    //     }
    //  }
    //  if( n>1 ) ans=ans-ans/n;
    //  return ans;
    //}
    
    ///筛法欧拉函数(打表)
    int eular [MAX];
    void getEular(){
       memset(eular,0,sizeof(eular));
       eular[1] = 1;
       for(int i=2;i<=MAX;i++){
        if(!eular[i])
          for(int j=i;j<=MAX ; j += i){
            if(!eular[j]) eular[j] = j;
            eular[j] = eular[j]/i*(i-1);
          }
       }
    }
    
    int main()
    {
        int Case,n;
        getEular();
        rd(Case);
        while(Case--){
            rd(n);
            printf("%d
    ",eular[n+1]);
            //printf("%lld
    ",eular(n+1));
        }
        return 0;
    }
    



  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/zswbky/p/5431922.html
Copyright © 2020-2023  润新知