你那麼愛笑,家裡人知道嗎?
阿新 • • 發佈:2018-12-22
1.大數取餘:
對於較大數快速取餘
引數:char s[] 為儲存大數的陣列
modNumber 為MOD
long long modNumber(char * s,int modNumber)
{
long long sum = 0;
for (int i = 0; i < strlen(s); ++i)
{
sum = sum*10 + s[i]-48;
sum %= modNumber;
}
return sum;
}
2.快速冪(極大數)取餘:
對於較大數快速取餘
引數:a的b次方 對 c 取餘
long long PowerMod(long long a, long long b, long long c)
{
long long ans = 1;
a = a % c;
while(b>0)
{
if(b % 2 == 1)
ans = (ans * a) % c;
b = b/2;
a = (a * a) % c;
}
return ans;
}
3.資料類型範圍:
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
4.cin cout 速度慢問題
ios::sync_with_stdio(false);
5.幾個提高速度的優化方案
多個if -> 陣列實現