• D. Modulo maths


    D. Modulo maths
    time limit per test
    0.25 s
    memory limit per test
    256 MB
    input
    standard input
    output
    standard output

    Birute loves modular arithmetics, but hates long problem statements.

    Given n, find f(n).

    Input

    The first line contains the number of test cases T (T ≤ 50). In the following T lines there are integer values of number n (1 ≤ n ≤ 10007).

    Output

    For each test case output one line containing “Case #tc: num”, where tc is the number of the test case (starting from 1) and num is the value of f(n).

    Examples
    Input
    2
    1
    2
    Output
    Case #1: 1
    Case #2: 0
    Note

    Fun fact: 1 is neither prime nor composite number.

    虽然是D题,但是有点水。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <set>
     6 #define N 10007
     7 // #define M 2005
     8 // #define inf 8e18
     9 #define ll long long int
    10 using namespace std;
    11 int k[N];
    12 void prime(){
    13   memset(k,0,sizeof(k));
    14   for(int i=2;i<=N;i++){
    15     if(!k[i]){
    16       for(int j=2;j*i<=N;j++)
    17         k[i*j]=1;
    18     }
    19   }
    20 }
    21 ll pow_mod(ll a,ll b,ll mo)
    22 {
    23     ll ans=1;
    24     a%=mo;
    25     while (b){
    26         if (b&1)
    27           ans=(ans*a)%mo;
    28         b>>=1;
    29         a=a*a%mo;
    30     }
    31     return ans%mo;
    32 }
    33 int main(){
    34     ll n,m;
    35     cin>>n;
    36     int t=1;
    37     prime();
    38     while(n--){
    39       cin>>m;
    40       if(m==1)
    41         cout<<"Case #"<<t<<": "<<1<<endl;
    42       else if(!k[m]){
    43         cout<<"Case #"<<t<<": "<<pow_mod(2,m-1,m)<<endl;
    44       }else{
    45         cout<<"Case #"<<t<<": "<<(((m-1)%m)*((m-1)%m))%m<<endl;
    46       }
    47       t++;
    48     }
    49   return 0;
    50 }
  • 相关阅读:
    读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第三部分)
    Spring Boot进阶系列一
    职场进阶之七种武器
    大龄IT程序员的救赎之道
    Web Service
    生产者消费者问题
    SpringBoot集成Apache Shiro
    简单模拟医院叫号系统
    IT小团队管理者的突围之道
    内部推荐
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7618286.html
Copyright © 2020-2023  润新知