01:數制轉換
思路:
以十進位制為跳板,實現低位數**換成十進位制後資料在long long以內)的進製轉換
**:
//a->b進製模板(0#include
using
namespace std;
int a,b,num_10=0;
char str[40]
,ans[40]
;int
main()
//10進製轉換為b進製(取餘,然後累除)
int size=0;
while
(num_10!=0)
if(!size)
printf
("0");
else
for(
int i=size-
1;i>=
0;i--
)printf
("%c"
,ans[i]);
//用%c
}
個例:10進製轉為2進製
#include
using
namespace std;
intmain()
for(i=j-
1;i>=
0;i--
)cout<; cout<}
問題描述:
給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式
輸入的第一行為乙個正整數n (1<=n<=10)。輸出格式接下來n行,每行乙個由0~9、大寫字母a-f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。
輸出n行,每行為輸入對應的八進位制正整數。【注意】
輸入的十六進製制數不會有前導0,比如012a。樣例輸入輸出的八進位制數也不能有前導0。
2樣例輸出39123abc
71思路:4435274
以二進位製做跳板,完成轉換,注意二進位制串前面補0,確保二進位制串的長度為3的倍數,最後輸出的時候忽略前導0即可
**:
#include
using
namespace std;
int n;
map<
char
,string> mp;
void
init()
intmain()
cout<}return0;
}
1022 d進製的a+b (20 分)
#include
#define ll long long
#define f(i,a,b) for(int i = a; i < b; ++i)
#define ios ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);
int a,b,c,sum;
int s[35]
,cnt;
intmain()
while
(sum)
;for
(int i=cnt-
1;i>=
0;i--
)return0;
}
補充幾道水題開開心~
1037 在霍格沃茨找零錢 (20 分)
題目給的資料long long能開下
#include
#define ll long long
using
namespace std;
intmain()
cout<17<<
"."<17<<
"."
}
但是資料大於long long但是小於一定範圍的時候該怎麼辦?於是有了下面的**
#include
using
namespace std;
intmain()
z = t < c ? t - c +
29: t - c;
n = t < c ? n -
1: n;
y = n < b ? n - b +
17: n - b;
x = n < b ? m - a -
1: m - a;
printf
("%d.%d.%d"
, x, y, z)
;return0;
}
1019 general palindromic number (20 分)
#include
#include
#include
using
namespace std;
bool
judge
(int z,
int num)
}return
true;}
intmain()
while
(n !=0)
;bool flag =
judge
(z, num);if
(flag)
printf
("yes\n");
else
printf
("no\n");
for(
int i = num -
1; i >=
0; i--)}
return0;
}
1027 colors in mars (20 分)
#include
char r=
"0123456789abc"
;int
main()
}}
1058 a+b in hogwarts (20 分)
#include
#define ll long long
intmain()
進製轉換應用 劍指offer題型歸納
1.按位與 相同位的數字只要有0則位0。2.按位或 相同位的數字只要有1則位1 3.按位異或 相同位的數字不同則為1 相同則為0 4.左移 將運算數的二進位制整體左移指定位數,低位用0補齊,將乙個數左移一位擴大2倍,以此類推。5.右移 將運算數的二進位制整體右移指定位數,高位用0補齊,將乙個數右移一...
進製轉換總結
前言 在學習計算機組成原理第二章 運算方法和運算器時,遇到了進製轉換問題,作為計算機學生,關於進製轉換還是要清楚了解的,很早就想總結下來了,這裡就記錄一些計算方法.文章大概內容 十進位制,二進位制,間整,小數轉換 十進位制轉換為n進製,用其數對n不斷取餘,直到商為零為止,然後逆序排列其餘數,得到的數...
JS進製轉換總結
如 0xf5 轉 十進位制,使用 parseint f5 16 進行轉換,結果為 245。結果沒錯,但不是我想要的結果。js 在轉換時,把 0xf5 看作是多位元組的,高位位元組補 0。完整格式為 0x000000f5 或者 0x0000000000000000f5 反正比0xf5單位元組大 二進位...