HDU 2035 人見人愛A^B(同餘基本性質)
- 原題連結:Here!
- 思路:
可以利用同餘的基本性質 ab ≡ (a%m)(b%m) (mod m) ,也非常好證明。
設 a = k1*m + c1 , b = k2*m + c2 ( k1,k2 為非負整數 )
ab = k1*k2*m*m + m*(k1*c2+k2*c1) + c1*c2
ab mod m = c1*c2
a mod m = c1 , b mod m = c2
因此 ab ≡ (a%m)(b%m) (mod m) - 程式碼:
/* Note: 利用了同餘的基本性質 ab ≡(a%m)(b%m) (mod m) */ #include<bits/stdc++.h> using namespace std; int solve(int a,int b,int m){ int ans = 1; for(int i=1;i<=b;i++){ ans = ans*a%m; } return ans; } int main(){ int a,b,m; while(cin>>a>>b && a+b){ cout<< solve(a,b,1000) <<endl; } return 0; }
相關推薦
HDU 2035 人見人愛A^B(同餘基本性質)
原題連結:Here!思路:可以利用同餘的基本性質 ab ≡ (a%m)(b%m) (mod m) ,也非常好證明。 設 a = k1*m + c1 , b = k2*m + c2 ( k1,k2
HDU 2035 人見人愛A^B(快速冪取模 )
人見人愛A^B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su
HDU 6071 Lazy Running(同餘最短路)
簡述題意:給你一個由四個節點組成的環,相鄰兩點間可達,求從節點2出發,回到節點2的不小於k的最短路徑的長度。 演算法:同餘最短路 難度:NOIP 題解: 假設我們將任意一條長度大於k的迴路(從2出發回到2)為可行路徑,那麼任意一條可行路徑加上2w一定還是可行路徑,所有可行方案中,
hdu 2035 人見人愛A^B
seve 程序 ron esc 組成 pid tdi other nbsp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissi
HDU-2035人見人愛A^B
HDU-2035人見人愛A^B 題目: 求A^B的最後三位數表示的整數。 說明:A^B的含義是“A的B次方” Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1<=A,B<=10000),如果A=0, B=0,則表示輸入資料的結束,不做處理。 Out
hdu 2035 人見人愛A^B(快速冪入門)
人見人愛A^B Time Limit: 2000/1000 MS (Java/Others) Memory Limit
HDU 2035 人見人愛A^B(水~)
Description 求A^B的最後三位數表示的整數。 Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1<=A,B<=10000),如果A=0, B=
HDU 2035 人見人愛A^B 快速冪取模
分析: 標配快速冪。注意取模別溢位即可。 程式碼如下: #include <stdio.h> // 快速冪非遞迴實現(迴圈+位運算) int power2(int a, int n
hdu 2035 人見人愛A^B(快速冪)
Problem Description 求A^B的最後三位數表示的整數。 說明:A^B的含義是“A的B次方” Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1<=A,B<=10000),如果A=0, B=0,則
hdu 2034 人見人愛A-B
查看 accep 行數 color 還記得 accept con esc 結果 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissi
HDU - 人見人愛A-B
http://acm.hdu.edu.cn/showproblem.php?pid=2034 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth
HDU - 人見人愛A+B
http://acm.hdu.edu.cn/showproblem.php?pid=2033 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth
HDU-2033-人見人愛A+B(水水水)
HDOJ上面已經有10來道A+B的題目了,相信這些題目曾經是大家的最愛,希望今天的這個A+B能給大家帶來好運,也希望這個題目能喚起大家對ACM曾經的熱愛。 這個題目的A和B不是簡單的整數,而是兩個時間,A和B 都是由3個整陣列成,分別表示時分秒,比如,假設A為34 45 56
HDU-2034-人見人愛A-B(外排)
人見人愛A-B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su
2035 ——人見人愛A^B
#include <iostream> using namespace std; int main() { int n,m; while(cin>>n>>m) { int c=1;
HDOJ 2035 人見人愛A^B(快速冪求模)
Description 求A^B的最後三位數表示的整數。 說明:A^B的含義是“A的B次方” Input 輸入資料包含多個測試例項,每個例項佔一行,由兩個正整數A和B組成(1&
2035 人見人愛A^B
人見人愛A^B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 21701 Accepted Sub
hdu 2034 人見人愛A-B (java)
問題: 題目要求排序之前沒將a[]陣列排序,導致一直不通過。 本題採用了String儲存需要的陣列元素,輸出方便,也比較靈活。 人見人愛A-B Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3
杭電 2035 ( 人見人愛A^B ) java
import java.util.Scanner; import java.math.BigInteger; public class Main { public static void
【杭電2035】人見人愛A^B
#include<stdio.h> __int64 quick(int a,int b) { __int64 ans=1,base=a; __int64 t=0;