我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋乙個2*n的大矩形,總共有多少種方法?
斐波那契數列
輸入乙個整數(int),輸出該數二進位制表示中1的個數。其中負數用補碼表示。
負數的補碼,前導是一連串的1,int為32位
class solution
n /= 2;
}}else
n /= 2;
div++;
}cnt += (32-div);
}return cnt;
}};
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
顯然這個整數超出了unsigned long long(20位十進位制數)的表示範圍,需要手寫大數除法
#include#include#include#includeusing namespace std;
int num[30];
int tmp[30];
stackbin;
string str;
bool equalzero(int num)
}return flag;
}int main()
//當num!=0時執行大數除法
while(equalzero(num)==false)
memcpy(num,tmp,sizeof(tmp));
memset(tmp,0,sizeof(tmp));
}while(!bin.empty())
cout<<'\n';
}}
進製轉換(大數除法 棧)
題目描述 將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入描述 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出描述 每行輸出對應的二進位制數。示例1 輸入01 38輸出0 1111000 思路 輸入資料...
進製轉換 高精度除法 進製轉換
高精度除法運算 include include include using namespace std struct bign bign change char str return a bign divide bign a,int b,int r 去除前導0 while c.len 1 1 c.d...
大整數除法(進製轉換)
將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 每行輸出對應的二進位制數。985 21111261111011001 11010011 10001100110這道題...