十六進製制轉八進位制演算法

2021-09-29 05:32:53 字數 688 閱讀 1353

兩種解法:都需要中轉一次

第一種:十六轉十,十轉八.

由於執行多次迴圈,當資料很大時,超時.

#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 ...