nefu604X的尾巴 快速幂取模

开始寻思半天是什么算法==原来是这货==注意答案开头有0的处理 机智如我

description

<tt>
求出X^X(X的X次方)后四位的数值。</tt>

input

<tt>
测试数组有多组,每行输入一个整数x,(1&lt;=x&lt;=100000000)</tt>

output

<tt>
对于每次输入,对应输出相应x的后四位数,每个输出占一行。</tt>

sample_input

<tt>
1
2
3
10</tt>

sample_output

<tt>
1
4
27
0000</tt>
#include <iostream>
#include<cstdio>
using namespace std;
long long quickmod(long long a,long long b)
{
     long long ans=1;
     while(b)
     {
          if(b&1)
          {
               ans=(ans*a)%10000;
          }
          b/=2;
          a=a*a%10000;
     }
     return ans;
}
int main()
{
    long long x;
    while(~scanf("%lld",&x))
    {
         if(x==0) printf("0\n");
         else
         {
         long long ans=quickmod(x,x);
         if(x<6) printf("%lld\n",ans);
         else printf("%04lld\n",ans);
         }

    }
    return 0;
}


全部评论

相关推荐

10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务