• 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;
    }
    



  • 相关阅读:
    springboot内置tomcat配置虚拟路径
    微信公众号支付备忘及填坑之路-java
    本地调试微信接口(内网穿透到外网)(公网访问局域网程序)
    SSM项目使用GoEasy 获取客户端上下线实时状态变化及在线客户列表
    SSM项目整合Quartz
    spring整合quartz异常:org.quartz.JobPersistenceException: Couldn't clean volatile data: Unknown column 'IS_VOLATILE' in 'where clause'
    Java NIO技术总结
    你懂redis吗
    mysql排序,同样的sql,mysql 每次查询结果顺序不一致
    mysql 不同索引的区别和适用情况总结
  • 原文地址:https://www.cnblogs.com/zswbky/p/5431922.html
Copyright © 2020-2023  润新知