點這裡題目描述:
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
思路:
模擬十進位制轉為二進位制的過程,用string儲存該數,遍歷這個string,每次保留模2的數,然後除2就行。如十進位制123
十進位制 除二 模二模二行從下往上就是對應的二進位制1111011123 61 1
061 30 1
030 15 0
015 7 1
007 3 1
003 1 1
001 0 1
**:
#include using namespace std;
vectorans;
void convert(string s)
ans.clear();///記得初始化vector陣列
convert(x);
for(int i=ans.size()-1;i>=0;i--)
cout << ans[i];
cout << endl;
}return 0;
}
牛客網計算機考研複試 KY8 整數拆分
點這裡題目描述 乙個整數總可以拆分為2的冪的和,例如 7 1 2 4 7 1 2 2 2 7 1 1 1 4 7 1 1 1 2 2 7 1 1 1 1 1 2 7 1 1 1 1 1 1 1 總共有六種不同的拆分方式。再比如 4可以拆分成 4 4,4 1 1 1 1,4 2 2,4 1 1 2。用...
牛客網計算機考研複試 KY3 約數的個數
點這裡題目描述 輸入n個整數,依次輸出每個數的約數的個數 思路1 對每乙個數計算其公約數,遍歷1到sqrt n 之間的數。1 include using namespace std int main cout cnt endl return 0 思路2 當n非常大的時候,第一種方法顯然會超時,這時我...
牛客網計算機考研複試 KY9 成績排序
點這裡題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。思路 對結構體排序就行了。這裡自己第一遍寫的犯了乙個錯,對把學號id定義為了string型別,在排序的時候導致了錯誤,因為字串比較的時候是從左到右按照ascii碼比較,當比較 13 和 9 的時候,反而 9 13 所以如果題目裡的學生i...