zoukankan      html  css  js  c++  java
  • Rightmost Digit(快速幂)

    Description

    Given a positive integer N, you should output the most right digit of N^N.       
            

    Input

    The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.        Each test case contains a single positive integer N(1<=N<=1,000,000,000).       
                  

    Output

    For each test case, you should output the rightmost digit of N^N.       
                  

    Sample Input

    2 3 4
                  

    Sample Output

    7 6

    Hint

     In the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7. In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6. 
             

    方法一:
     1 #include <iostream>
     2 using namespace std; 
     3 int a[25]={0,1,4,7,6,5,6,3,6,9,0,1,6,3,6,5,6,7,4,9,0};
     4 int main()
     5 {
     6     int b,n; 
     7     cin>>b;
     8     while(b--)
     9     {
    10        cin>>n;
    11        cout<<a[n%20]<<endl; 
    12     }
    13     return 0 ;
    14 }


    方法二:

     1 #include<stdio.h>
     2 int my_power(int m, int n); // 求m的n次方的尾数
     3 int main()
     4 {
     5     int cases, n;
     6     scanf("%d", &cases);
     7     while(cases--)
     8     {
     9         scanf("%d", &n);
    10         printf("%d
    ", my_power(n, n));
    11     }
    12     
    13     return 0;
    14 }
    15 
    16 int my_power(int m, int n)
    17 {
    18     m = m%10;
    19     if(n == 1)
    20         return m;
    21     if(n%2 == 0)
    22         return ( my_power(m*m, n/2) ) % 10;
    23     else
    24         return ( my_power(m*m, n/2)*m ) % 10;
    25 }

        快速幂的时间复杂度是O(logn),n = 10亿时,大约32次递归调用就能出结果,效率极大的提高了

  • 相关阅读:
    更改Linux时区的两种方法
    Azure上部署FTP服务
    log4j2简单使用
    elasticsearch5.5.2环境搭建
    springTask和Schedule学习
    防止SpringMVC拦截器拦截js等静态资源文件
    Mysql中使用FIND_IN_SET解决IN条件为字符串时只有第一个数据可用的问题
    ServletContext总结
    window.location.href和window.location.replace的区别
    javadoc文档
  • 原文地址:https://www.cnblogs.com/wangmengmeng/p/4552455.html
Copyright © 2011-2022 走看看