HDOJ 題目4704 Sum(費馬小定理,快速冪)
Sum
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1320 Accepted Submission(s): 570
Problem Description
Sample Input 2
Sample Output 2 Hint 1. For N = 2, S(1) = S(2) = 1. 2. The input file consists of multiple test cases.
Source
Recommend zhuyuanchen520 | We have carefully selected several similar problems for you:
一道整數劃分題目,不難推出公式:2^(n-1),
根據費馬小定理:(2,MOD)互質,則2^(p-1)%p=1;
由於n非常大,所以這裡要用到費馬小定理:a^n%m ≡ (a^(n%(m-1)) * a^(m-1))%m=a^(n%(m-1)) %m
ac程式碼
#include<stdio.h> #include<math.h> #include<string.h> #define mod 1000000007 __int64 fun(__int64 a,__int64 n) { __int64 s=1; while(n) { if(n%2) s=s*a%mod; a=a*a%mod; n/=2; } return s; } int main() { char s[1000000]; while(scanf("%s",s)!=EOF) { __int64 sum=0; int i,len=strlen(s); getchar(); for(i=0;i<len;i++) { sum=(sum*10+s[i]-'0')%(mod-1);//注意這種對字串求餘的方式 } printf("%I64d\n",fun(2,sum-1)); } }
相關推薦
HDOJ 題目4704 Sum(費馬小定理,快速冪)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm
hdu 4549 M斐波那契數列(費馬小定理+矩陣快速冪)
F(n)=a^F(n-1)*b^F(n-2)%mod 因為a和b都與mod互素,因此用費馬小定理可以得到 F(n)=a^(f(n-1)%mod-1)*b^(f(n)%mod-1) %mod
HDOJ 4704 Sum(費馬小定理+快速冪)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm
HDU 4704 Sum (費馬小定理)
題意: 不知道為什麼java超時: import java.math.BigInteger; import java.util.Scanner; public class Main {
hdu 4704 Sum(費馬小定理)
數論,費馬小定理 a^(p-1) % p == 1,長見識了 #include <cstdio> #include <algorithm> #include <vector> using namespace std; typedef
hdu 4704 Sum(費馬小定理)解題報告
Problem Description Sample Input 2 Sample Output 2 Hint 1. For N = 2, S(1) = S(2) = 1. 2. The input file consists of multip
hdu 4704 sum(費馬小定理+快速冪)
題意: 這題意看了很久。。 s(k)表示的是把n分成k個正整數的和,有多少種分法。 例如: n=4時, s(1)=1 4 s(2)=3 1,3 3,1 2,2 s(3)=3 1,1,2
4704 Sum (費馬小定理 + 快速冪)
Description Sample Input 2 Sample Output 2 Hint 1. For N = 2, S(1) = S(2) = 1. 2. The input file consists of mul
M斐波那契數列 (費馬小定理 + 二分快速冪 + 矩陣快速冪)
M斐波那契數列F[n]是一種整數數列,它的定義如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 現在給出a, b, n,你能求出F[n]的值嗎? Input 輸入包含多組測試
Codeforces Round #338 (Div. 2) D Multipliers(費馬小定理,快速冪)
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #inclu
HUD 4704 Sum 費馬小定理和快速冪
給定s(k)為k的劃分數 求劃分數的個數 比如當n=4時候 s(1)=(4)…………………………1 s(2)=(2,2)(1,3)(3,1)………3 s(3)=(1,1,2)(1,2,1)(2,1,1)……3 s(4)=(1,1,1,1)……………………1 所以是1+3+
hdu 4704 Sum(隔板+費馬小定理·大數取模)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1907 Accepted Submis
HDU4704:Sum(費馬小定理 & 隔板法)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Su
hdu 4704 sum 大整數取模+費馬小定理+數快速冪
求輸入的n可以有幾種拆分情況: 如: 2-->(2,11)2種 3-->(3,21,12,111)4種 4-->(4,31,13,22,211,112,121,1111)8種 發現規律 結果 = 2^(n-1),再取模得到要求的即為 2^(n-1)%mod
HDU - 1576(費馬小定理求逆元)
math src typedef pow ble inpu show font type 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 A/B Time Limit: 1000/1000 MS (Java/Othe
HDOJ 4549 M斐波那契數列 費馬小定理+矩陣快速冪
MF( i ) = a ^ fib( i-1 ) * b ^ fib ( i ) ( i>=3) mod 1000000007 是質數 , 根據費馬小定理 a^phi( p ) = 1
HDU --- 4549 M斐波那契數列 【費馬小定理+矩陣快速冪】
傳送門 思路: 通過把前面幾項手推出來可以發現, 其次方項符合斐波那契數列, 又因為資料非常大, 所以就可以想到用矩陣快速冪去求得次方項, 需要注意的就是我們求的是次方, 而答案是取的某個數的該次方, 而a^b % p != a^(b%p) % p, 所以就
HDU 4549 M斐波那契數列 (費馬小定理+矩陣快速冪)
分析: 寫出F[n]的幾項之後發現a和b的指數和斐波那契數列有關 具體的關係是 F[n]=a^fib[n-1] * b^fib[n] 矩陣快速冪求fib 快速冪求a和b的n次冪 題目要求對F[n]%mod 這
HDU 4704 Sum(費馬小定理,組合數學,快速冪)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Sub
HDU 4704 Sum (費馬定理+快速冪)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm