這個題簡單來說就是把乙個數轉成32位的2進製數,不夠的補0。然後把這個數的前半部分和後半部分互換,再計算結果。
思路簡單明瞭,接下來是**:
#include#include#include#includeusing namespace std;long long a,b,shu[50],s=1,zshu;
int main()
for(int i=32;i>=s;i--)//如果位數不夠是要補0的
for(int i=17;i<=32;i++)//互換了,第17位就是第1位。第1位就是第17位,然後就按照這個樣子,轉換進製就好啦。
for(int i=1;i<=16;i++)
printf("%lld",zshu);
return 0;
}
總結:這個題和前兩個沒啥區別,會字串和進製轉換就可以輕鬆過掉。
洛谷 P1100 高低位交換
p1100 高低位交換 include include define ll long long 定價代換ll 代替long long void sw int a,int b 自定義數值交換函式 void fun ll n ll sum 0 int x 32 int k 0 while n n一直對2...
洛谷 P1100 高低位交換
給出乙個小於 2 的正整數。這個數可以用乙個 32 位的二進位制數表示 不足 32 位用 0 補足 我們稱這個二進位制數的前 16 位為 高位 後 16 位為 低位 將它的高低位交換,我們可以得到乙個新的數。試問這個新的數是多少 用十進位制表示 例如,數 1314520 用二進位制表示為 0000 ...
P1100 高低位交換
給出乙個小於2 232的正整數。這個數可以用乙個3232位的二進位制數表示 不足3232位用00補足 我們稱這個二進位制數的前1616位為 高位 後1616位為 低位 將它的高低位交換,我們可以得到乙個新的數。試問這個新的數是多少 用十進位制表示 例如,數13145201314520用二進位制表示為...