zoukankan      html  css  js  c++  java
  • 11.04T2 暴力模拟

    3814 -- 【模拟试题】原根

    Description

    Input

      输入仅一个正整数m。

    Output

      以递增序依次输出模m的所有原根,每行输出一个原根。
      如果不存在模m的原根,输出-1。

    Sample Input

    7

    Sample Output

    3 5

    Hint

     
     
     
    暴力模拟,怎么暴力怎么来,详见代码
    code:
     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 int gcd(int a,int b) {
     5     if(a<b)swap(a,b);
     6     while(a=a%b)swap(a,b);
     7     return b;
     8 }
     9 int phi;
    10 int main() {
    11     int m;
    12     cin>>m;
    13     for(int i=1; i<=m; i++) {
    14         phi+=gcd(i,m)==1;
    15     }
    16     int f=0;
    17     if(m==1){
    18         cout<<1;
    19         return 0;
    20     }
    21     for(int i=1; i<=m; i++) {
    22         int ans=1;
    23         int flag=0;
    24         if(gcd(m,i)!=1)continue;
    25         for(int d=1;;d++) {
    26             (ans*=i)%=m;
    27             if(ans==1) {
    28                 if(d==phi)
    29                     flag=1;
    30                 break;
    31             }
    32         }
    33         if(flag) {
    34             cout<<i<<"
    ";
    35             f=1;
    36         }
    37     }
    38     if(f==0)cout<<-1;
    39     return 0;
    40 }

    over

  • 相关阅读:
    有关TSQL中的ROUND()的用法
    孤立用户
    微小的边缘原理
    分段统计查询的方法
    虎尾兰
    有规律字段的拆分
    对索引视图的限制
    金额转换为英文大写
    经典名言
    最大信息熵原理
  • 原文地址:https://www.cnblogs.com/saionjisekai/p/9905236.html
Copyright © 2011-2022 走看看