兩種解法:都需要中轉一次
第一種:十六轉十,十轉八.
由於執行多次迴圈,當資料很大時,超時.
#include#includeusing namespace std;
long long lc(int a,int n)
} } //10->8
int a[10];
int l=sum;
int i=0;
while(l)
for(i=i-1;i>=0;i--)
cout<第二種:十六轉二,二轉八.
利用字串解決顯然具有巧妙性,列舉出並不多的情況.避免了不必要的迴圈的出現
#include#include#include#include#include#include#includeusing namespace std;
int main()
}if(str.length()%3==1)else if(str.length()%3==2)
int flag=0;
int num = 0;
for(int i=0;i
if(flag)
}printf("\n");
}return 0;
}
十六進製制轉八進位制
時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸...
十六進製制轉八進位制
問題描述 給定n 個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來 n行,每行乙個由 0 9 大寫字母 a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過 100000 輸出格式 輸出n 行,每行為輸入對應的八進位制正整...
十六進製制轉八進位制
資料很大 因此直接考慮用字串陣列來儲存十六進製制和八進位制 先根據 四位一體 的方法將十六進製制轉化為二進位制,而後根據 三位一體 將二進位制轉化為八進位制。include includeint main else if a i 1 else if a i 2 else if a i 3 else ...