zoukankan      html  css  js  c++  java
  • 1004 n^n的末位数字

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
     
    给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
     
    Input
    一个数N(1 <= N <= 10^9)
    Output
    输出N^N的末位数字
    Input示例
    13
    Output示例
    3

    幂尾数的循环节为4!学到了新姿势~

    知道这个点就直接刚就好。

    附AC代码:

     1 #include<iostream>
     2 #include<algorithm>
     3 #include<cmath>
     4 using namespace std;
     5 
     6 int main(){
     7     int n;
     8     cin>>n;
     9     int a=n%10;
    10     int b=n%4;
    11     if(b==0) b=4;
    12     int c=pow(a,b);
    13     cout<<c%10<<endl;
    14     return 0;
    15 }

    快速幂写法真无愧于这个名字:

     1 #include<stdio.h>
     2 #include<math.h>
     3 int main(){
     4     int n;
     5     scanf("%d",&n);
     6     int m = n%10;
     7     int ans = 1;
     8     while(n){
     9         if(n&1){
    10             ans *= m;
    11             ans %= 10;
    12     }
    13         m *= m;
    14         m %= 10;
    15         n /= 2;
    16     }
    17     printf("%d
    ",ans);
    18     return 0;
    19 }
  • 相关阅读:
    练字的感悟
    关于简单
    全都是泡沫
    跟着电影环游世界
    12.8《印度之行》
    11.21派生类对基类的访问
    Linux,begin
    如何利用google
    回调函数
    原型对象
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/5778028.html
Copyright © 2011-2022 走看看