zoukankan      html  css  js  c++  java
  • nyist 676 小明的求助

    http://acm.nyist.net/JudgeOnline/problem.php?pid=676

    小明的求助

    时间限制:2000 ms  |  内存限制:65535 KB
    难度:2
     
    描述
    小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他,因为这是so easy! 当他看到第二道题目的时候,他就确定老师在捉弄他了,求出N^P的后M位,因为他不会了。你能帮他吗?
     
    输入
    第一行包含一个整数T(T <= 1000),代表测试数据组数。
    接下来的T行每行含三个整数,N,P,M(1 <= N <= 10^10,1 <= P <= 10^15,1 <= M <= 9)。
    输出
    输出格式“Case #i: ans”(不含引号),i表示第i组测试数据,ans为所求结果。
    样例输入
    2
    2 4 1
    3 7 2
    样例输出
    Case #1: 6
    Case #2: 87
    来源
    NYIST第一届校赛(专业组)
    分析;
    快速幂。“蒙格马利”快速幂模算法。
    AC代码:
     1  
     2 #include<stdio.h>
     3 int main()
     4 {
     5     long long T,t,k,i,x,n,p,m;
     6     scanf("%lld",&T);
     7     for(t=1;t<=T;++t)
     8     {
     9         scanf("%lld%lld%lld",&n,&p,&m);
    10         k=1;
    11         for(i=1;i<=m;++i)
    12             k*=10;
    13         n=n%k;
    14         x=1;
    15         while(p>0)
    16         {
    17             if(p%2)
    18                 x=(n*x)%k;
    19             p=p>>1;
    20             n=(n*n)%k;
    21         }
    22         printf("Case #%lld: %lld
    ",t,x);
    23     }
    24     return 0;
    25 }        
  • 相关阅读:
    linux screen工具
    nginx 启动重启脚本
    Docker入门
    时间管理定律
    贪婪算法
    指针与指针的地址
    双向链表(前插操作,删除操作)
    Trie树检索字符串
    函数调用
    字符串匹配算法
  • 原文地址:https://www.cnblogs.com/jeff-wgc/p/4486173.html
Copyright © 2011-2022 走看看