zoukankan      html  css  js  c++  java
  • HDU1395 ZOJ1489 2^x mod n = 1【暴力法+数论】

    2^x mod n = 1

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 17824    Accepted Submission(s): 5582


    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


    问题链接HDU1395 ZOJ1489 2^x mod n = 1

    问题简述:对于输入的n,求满足 2^x mod n = 1的最小正整数x。

    问题分析:若n是偶数或者1则无解,否则用暴力法来解。这个题是一个水题。

    程序说明(略)

    题记:(略)


    参考链接:(略)


    AC的C++语言程序如下:

    /* HDU1395 ZOJ1489 2^x mod n = 1 */
    
    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    
    int main()
    {
        int n;
        while(scanf("%d", &n) != EOF) {
            if(n % 2 == 0 || n == 1)
                printf("2^? mod %d = 1
    ", n);
            else {
                int t = 2, x = 1;
                while(t != 1) {
                    t *= 2;
                    t %= n;
                    x++;
                }
                printf("2^%d mod %d = 1
    ", x, n);
            }
        }
    
        return 0;
    }






  • 相关阅读:
    JS的运行机制
    Vue路由
    javascript的逼格
    Vue开发中遇到的问题及解决方案
    模块模式
    2019年终总结
    http知识总结
    小议函数的节流和防抖
    nodejs初探一二
    Object是个什么鬼
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563538.html
Copyright © 2011-2022 走看看