zoukankan      html  css  js  c++  java
  • hdoj 1061 Rightmost Digit【快速幂求模】

    Rightmost Digit

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 39554    Accepted Submission(s): 14930


    Problem 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
     
    快速幂的原理其实是同余定理 (a*b)%c=((a%c)*(a%c))%c的实现过程
    #include<stdio.h>
    #include<string.h>
    int f(int x)
    {
    	int ans=1;
    	int y=x;
    	x=x%10;
    	while(y)
    	{
    		if(y&1)
    		    ans=(ans*x)%10;
    		y/=2;
    		x=(x*x)%10;
    	}
    	return ans;
    }
    int main()
    {
    	int n,m,j,i,t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		scanf("%d",&n);
    		printf("%d
    ",f(n));
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    数组塌陷现象
    深浅拷贝的区别
    冒泡排序,选择排序的应用
    JavaScript双重循环的嵌套
    Css Grid网格布局
    css3动画详细介绍
    Python tkinter Label Widget relief upload image
    XXXFD
    XXX1
    Python爬取一个简单网页的HTML代码
  • 原文地址:https://www.cnblogs.com/tonghao/p/4701470.html
Copyright © 2011-2022 走看看