1. 程式人生 > >學習歷程-同餘定理兩大基本應用

學習歷程-同餘定理兩大基本應用

int fun(int a,int b)
{
	int base=a,sum=1;//base為3的1次方 3的2次方 3的4次方 。。。。。
	while(b!=0)
	{
		if(b&1!=0) //此處判斷該位為不為1
		{
			sum=sum*base;  
			sum%=10;	
		}
		base=(base*base)%10;//base需要隨同位的更新而更新
		b/=2;//去掉上一位
	}                       
	return sum;//關於上兩處的取餘很神奇,一點一點推會發現這樣取餘不僅能算出結果,還能防止資料溢位
}

相關推薦

學習歷程-定理基本應用

int fun(int a,int b) { int base=a,sum=1;//base為3的1次方 3的2次方 3的4次方 。。。。。 while(b!=0) { if(b&1!=0) //此處判斷該位為不為1 { sum=sum*base; sum%=10;

LINUX系統服務器上搭建DHCP服務,實現基本功能:1,自動分配ip;2,手工指定ip

完成 重啟 釋放 p地址 進行 基本功 blog process 自動 在linux系統服務器上搭建DHCP服務,實現兩大基本功能:1,自動分配ip地址;2,手動指定ip地址。首先準備兩臺虛擬機作為實驗對象,一個linux系統作為服務器,一個windows7系統作為客戶機,

定理(歐幾里得演算法)

如果  (a-b)%m==0  那麼 a%m==0  b%m==0 a,b關於模m同餘。   求最大公約數 #include "pch.h" #include<iostream> #include<cstdio> #include<

hdu1163 Eddy's digital Roots(合九法+定理)

Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 84156&nbs

A - Find a Number CodeForces - 1070A -記憶化廣搜-定理

A - Find a Number  CodeForces - 1070A  題意: 思路:與數位dp思想有點相似,數太大無法儲存,選擇保留其對搜尋目標有用的資訊,並且記憶化減少無效多餘搜尋, vis[i][j]兩位含義是 當前的 餘數為i,各個

定理應用(處理大數

       今天要不是吃鯨群裡有人提問,我之前不知道還有這個定理,想想都後怕。。。果然我已經沒有希望了嗎? 同餘定理 定義 設m是大於1的正整數,a、b是整數,如果(a-b)|m,則稱a與b關於模m同餘,記作a≡b(mod m),讀作a與b對模m同

POJ 1995 Raising Modulo Numbers 【快速冪+定理

People are different. Some secretly read magazines full of interesting girls' pictures, others create an A-bomb in their cellar, others like using Windows

CodeForces 17D Notepad(定理)

D. Notepad time limit per test 2 seconds memory limit per test 64 megabytes input standa

poj2635 定理 + 素數篩法

      題意:給定一個數,這個數是兩個素數的乘積,並給定一個限制L,問是否兩個素數中存在小於L的數,若存在輸出較小質數,否則列印‘GOOD’。     思路: 1 . x = a * b, a和

定理應用

    同餘定理:兩個整數同時除以一個整數得到的餘數相同,則二整數同餘。記作a ≡ b(mod m)。1. 同餘定理的加法乘法應用(a + b) % m = (a % m + b % m) % m設 a = k1 * m + r1,b = k2 * m + r2 則 (a +

定理+逆元】知識點講解

【同餘的定義】: 【同餘的主要性質】: 性質證明: 【逆元】 (1)定義: 【費馬小引理求解逆元】: 程式碼實現: long long quickpow(long long a,long long b){ if(b<0) retur

hdu1212(定理

同餘定理:(a+b)%c = (a%c + b % c) % c,(a*b)%c = (a%c * b%c) % c 例如:353%3 = (300 % 3 + 50 % 3 + 3 % 3) % 3 = 2 貼出程式碼: #include <iostream

4704(費馬小定理定理 ,求超高次冪)

Input 2 Output 2 Hint 1. For N = 2, S(1) = S(2) = 1.2. The input file consists of multiple test cases. Sample Input

ACM暑期集訓 定理+逆元 大數取

表面上看這道題是問a能不能整除b,實際上還是看二者取余余數是否為0,屬於大數取餘的範圍 a的範圍達到10的200次方,用 long long都已經不可以,需要用字串,而b可以用long long 題目: F - Large Division Given two i

【練習賽補題】poj1426 【定理】【有趣~】

Find The Multiple Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 33882 Accepted: 14173 Special Judge Description

hdu 2099 數論-定理

題目意思是一個整數n 知道十位以前的數字a 十位和個位不曉得 這個整數能夠被某個數b整除 給你a和b 讓你求十位和個位數的所有可能結果 很顯然是同餘定理 公式為:a = b + c;  a % d = ( b % d + c % d) %d; 從0到99枚舉出所有結果

數數 (數學)(快速冪+定理

數數 【問題描述】 小 Star 還不會數數。有一天他看到了一張奇怪的數表,上面的每一個數各自都由相同數字構成,比如“11111111”“66666” 。於是他想自己從 1 慢慢數到這個數字。多少 Star 有個很不好的習慣,每數到一定個數就會從頭開始數

hdu1212 Big Number &第六屆山東省賽Single Round Math (定理,大數取模)

題目大意:每次輸入兩個數,第一個是高精度,第二個數小於100000;求 a mod b 根據同餘定理: (a+b)% c = (a%c+ b%c)%c (a*b)%c =  ( a%c* b%c)%

lightOj1078 定理

If an integer is not divisible by 2 or 5, some multiple of that number in decimal notation is a sequence of only a digit. Now you a

的特點(+定理

1.加法乘法和取模沒有順序 2.如果兩個數對m取餘相等。那麼這兩個數相減後,該數被m整除。 公式: (a + b) % n = ((a % n )  + (b % n)) % n ab % n = (a % n) (b % n) % n 大整數取模 1234 = ((1*1