zoukankan      html  css  js  c++  java
  • Problem G: 圆周率

    Problem G: 圆周率

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 155  Solved: 99
    [Submit][Status][Web Board]

    Description

    YT大学附小举办背诵圆率 PI 的比赛。谁背的正确的位数越多,谁为胜者。很多小学生背的位数很多,但是往往会有少数位置的数是错误的。为了快速加测出错误的圆周率,将圆周率 PI 小数点后的数字求模进行简单验证。
    例如:某学生背的圆周率为 3.15,则1510 mod 9 = 6,可以初步判定该学生背的圆周率错误。
     
    数有不同的进制表示,比如二进制、八进制、十进制等。现在给你一个任务,给定一个n进制,要它对n-1求模,比如:
                 782910 mod 9 =  8
                 377777777777777738 mod 7 =6
                 1234567 mod 6 =3
    (注意:377777777777777738=112589990684261910   1234567 =2287510 )
    你的任务是读入一些不同进制的数,求模。

    Input

     第一行表示为整数P(1≤P≤1000),表示一共的测试数据组数。
    每组测试测试数据一行,由三个数组成,第一个数表示组号,第二个数B(2≤B≤10),表示B进制,第三个数D表示要求模的数,D的位数不超过10,000,000位。

    Output

    每组测试数据一行,每一个数为组号,第二个为 D mod (B-1)

    Sample Input

    6
    1 10 7829
    2 7 12345
    3 6 432504023545112
    4 8 37777777777777773
    5 2 101011111111110000000000000000000011111111111111111111111
    6 10 145784444444444457842154777777777547845993

    Sample Output

    1 8
    2 3
    3 1
    4 6
    5 0
    6 6
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int p,k,t;
        int now=0;
        char str[1000005];
        scanf("%d",&p);
        while(p--)
        {
            scanf("%d%d%s",&t,&k,&str);
            now=0;
            int i;
            int len=strlen(str);
            for(i=0;i<len;i++)
            {
                now=now*k;
                now=now+str[i]-'0';
                now=now%(k-1);
            }
            printf("%d %d\n",t,now);
        }
    }
    

      

  • 相关阅读:
    面对苹果的抄袭指责,小米到底有没有抄袭?
    如何用Ajax传一个数组数据
    为何日本人如此重视孩子的早餐问题
    常见编程语言对REPL支持情况小结
    坚持未必都是美德,也可能是无知
    PHP 5.4语法改进与弃用特性
    解决CI框架的Disallowed Key Characters错误提示
    如何抓取开了gzip的网页
    CodeIgniter自带的数据库类使用介绍
    Python内部变量与外部变量
  • 原文地址:https://www.cnblogs.com/mjn1/p/8997954.html
Copyright © 2011-2022 走看看