這次是學長他們出的題,主要還是考察基礎的運算。 然而我又是一題沒過……
還是得回過頭去看那些題。簡單總結一下吧
1、判斷乙個數是否是2的冪
我覺得我自己就是不會位運算……找個機會得好好補一補這一塊。
今天看到一條能夠很快判斷的語句 (m&(m-1))==0 如果成立,則證明m是2的冪。
我還要再自己證明一下看一下。
2、大數取模
當乙個數非常大的時候,達到需要用字串來表示的時候,就可以用下面這種辦法來進行取模運算。
1 #include 2 #include3char s[200];4
intmain()
5
3、判斷乙個10進製數轉化成2進製數之後的位數
這個操作比較騷……我這次是用它來求離乙個數m最近的,且比m小的2的冪。
#include int geshu (longlong
intn)
//最後的返回值就是個數
4、十進位制數字與n進製數之間的轉換
這個可能需要用到棧的原理。
下面借鑑一下人家的**
#include#include//定義棧結構typedef structstackstack;
//宣告函式
void settable(char*table);
void push(intnumber);
intpop();
intisempty();
//宣告全域性變數
stack *stack;
voidmain()
printf("結果為:");
while(isempty() == 0)
putchar(10);//換行
}//填充數字字母表
void settable(chartable)
for(;i<37;i++)
}//入棧
void push(intnumber)
//出棧
intpop()
//判斷是否為空
intisempty()
5、我的a題還沒過……
今天晚上想早點睡覺了,明天有時間再去好好看看那個題還怎麼解出來吧!
牛客小白賽15
theme n個數,m次詢問,1 n,m 10 5,a i 10000,x 100000 每次詢問區間 l,r 中數字x出現的次數。solution 首先遍歷一遍陣列,記錄下每個數值在陣列 現的位置下標,存入陣列,用vector.由於是按順序插入,所以每個vevctor中的數都是排序好的。之後查詢時...
牛客 錦標賽
組委會正在為美團點評codem大賽的決賽設計新賽制。比賽有 n 個人參加 其中 n 為2的冪 每個參賽者根據資格賽和預賽 複賽的成績,會有不同的積分。比賽採取錦標賽賽制,分輪次進行,設某一輪有 m個人參加,那麼參賽者會被分為 m 2 組,每組恰好 2 人,m 2組的人分別廝殺。我們假定積分高的人肯定...
操作集錦 牛客網 牛客練習賽60
題目傳送 時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 輸入描述 第一行兩個整數n,k 第二行乙個長度為n的字串,保證只存在小寫字母.輸出描述 示例1輸入 3 1 abc輸出 3備註 1 n 1e3 ...