zoukankan      html  css  js  c++  java
  • 2^x mod n = 1

    2^x mod n = 1

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 59   Accepted Submission(s) : 16
    Problem Description
    Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1.
     
    Input
    One positive integer on each line, the value of n.
     
    Output
    If the minimum x exists, print a line with 2^x mod n = 1. Print 2^? mod n = 1 otherwise. You should replace x and n with specific numbers.
     
    Sample Input
    2 5
     
    Sample Output
    2^? mod 2 = 1 2^4 mod 5 = 1
     
    Author
    MA, Xiao
     
    Source
    ZOJ Monthly, February 2003
     
     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 int main()
     5 {
     6     int i,n,x,sign,sum,N;
     7     while(scanf("%d",&n)!=EOF)
     8     {
     9         sign=0;
    10         if(n%2==0||n==1)
    11             sign--;
    12         else
    13         {
    14             for(i=1,N=1,sign=0;;i++)
    15             {
    16                 N=(N*2)%n;
    17                 if(N==1)
    18                 {
    19                     x=i;
    20                     sign++;
    21                     break;
    22                 }
    23             }
    24 
    25         }
    26         if(sign==1)
    27             printf("2^%d mod %d = 1
    ",x,n);
    28         else
    29             printf("2^? mod %d = 1
    ",n);
    30     }
    31 }
    View Code
    转载请备注:
    **************************************
    * 作者: Wurq
    * 博客: https://www.cnblogs.com/Wurq/
    * Gitee: https://gitee.com/wurq
    **************************************
  • 相关阅读:
    CF1280G Kirchhoff's Current Loss【表达式解析,不等式】
    [AGC040C] Neither AB nor BA
    [AGC040B]Two Contests
    [ARC101E]Ribbons on Tree(容斥,dp)
    [GXOI/GZOI2019]旧词
    [SDOI2015]寻宝游戏
    半平面交初步
    [CF585E]Marbles
    [P5348]密码解锁
    NOIP2018 保卫王国
  • 原文地址:https://www.cnblogs.com/Wurq/p/3750235.html
Copyright © 2011-2022 走看看