int128 學習筆記

2021-10-20 20:31:05 字數 598 閱讀 8162

今天學習到__int128 型別

這是乙個處理大數的很奇妙的方法。

正常來說,unsigned long long 已經是可以定義的最大的型別了,但是如果資料範圍超過了2^64 就會**。如果要處理比其大一點又不是那麼大的數,就可以使用__int128這個定義。

注意:__int128 並不是所有編譯器都可以使用。大型比賽不用顧慮,但藍橋杯一定不要用,會報錯。

關於__int128 要注意其輸入輸出不能直接使用cin和cout,需要自己手寫乙個按位輸入輸出的函式才可以。

模板如下:

1.輸入流:

__int128 read()

while

(ch<=

'9'&&ch>=

'0')

return f*w;

}

2,輸出流:

void

print

(__int128 x)

if(x>9)

print

(x/10);

putchar

(x%10

+'0');

}

組合數學 int128

今天是tabris和mengxiang000來到幼兒園的第3天,mengxiang000接到了乙個布置會場的任務。他需要將貴賓觀眾席的椅子排成一排,一共需要n個。幼兒園只有兩種椅子,所以他也只能使用兩種椅子。a型別和b型別 並且假設每種椅子的數量都是無限的。而其如果想要擺置乙個b型別的椅子,對應就需...

直線 int128的使用

題目 平面上存在n 1e15 條直線。請問n條直線在平面上最多存在多少交點。解法 分析可知資料範圍會爆64位但又在128位以內,使用 int128。int128有定義但沒有輸入輸出等操作,需要手寫。include include include include include include inc...

組合數(思維題 int128)

題意很簡單吧 就是算c n,k 和1e18的大小 如果你手寫一下就可以把c n,m 寫成 可以很明顯發現分子最左邊的n k可定小於分母最後邊的n k 1 所以他們能相同約分 然後就有乙個new知識點了!int128這個是只能在計算時使用的資料型別,不能在輸入輸出的時候使用 所以這道題我就可以這樣想 ...