zoukankan      html  css  js  c++  java
  • HDU 1014 Uniform Generator 欧几里得

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1014

    解题思路:

    1. 把题目意思读懂后,明白会输入两个数,然后根据题中的公式产生一系列伪随机数,看这些数是不是能够包含0~MOD-1。如果产生不了就输出“Good Choice”,否则输出“Bad Choice”。

    2. 全部假使x从0开始,设STEP为a,MOD为b。如果说a,b存在倍数关系,即假设最小存在2倍关系,那么就会有b=2a。x初始为0,第一步之后为a,第二步之后为0,之后a、0交替出现。周期为2,那么始终都不会产生0~b-1的全部数。以此类推,只要存在几倍关系,周期就为几。可见,两数存在倍数关系就不会得到全部数列。则2a与3a也不会有结果。所以说,当两数存在公约数,即两数不互质,就不会产生一系列数。

    3. 如果两数互质,举一个最简单的例子。令a=b+1。则x初始为0,第一步之后为1,第二步之后为2,第三步之后为3,则可以产生一系列伪随机数满足题中要求。

    4. 编写代码时注意最后输出,C++输出默认右对齐。

    源代码:

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int t,n,m,a,b;
     5     while(scanf("%d%d",&m,&n)!=EOF)
     6     {
     7         a=m;
     8         b=n;
     9         if(m<n)
    10         {
    11             t=m;
    12             m=n;
    13             n=t;
    14         }
    15         if(n==0)
    16         {
    17             n=m;
    18         }
    19         else
    20         {
    21             while(m%n!=0)
    22             {
    23                 t=m%n;
    24                 m=n;
    25                 n=t;
    26             }
    27         }
    28         if(t==1)
    29             printf("%10d%10d    Good Choice
    
    ",a,b);
    30         else
    31             printf("%10d%10d    Bad Choice
    
    ",a,b);
    32 
    33     }
    34     return 0;
    35 }
    View Code
    
    
  • 相关阅读:
    pandas replace 替换功能function
    pandas 处理文本数据
    vue-cli3使用bootstrap4
    Sass和less的区别是什么?用哪个好
    vue项目首屏加载优化实战
    NodeJS 框架一览
    pre -commit hook failed (add --no-verify to bypass)
    安装与卸载vue cli3
    vue-cli3.0之vue.config.js的配置项(注解)
    Sass-颜色运算
  • 原文地址:https://www.cnblogs.com/lemonbiscuit/p/7776154.html
Copyright © 2011-2022 走看看