乙個沒用到大數的進製轉換的思想:
二、八、十、十六進製制轉換(**篇):
題目連線:
#include#include#include#includeusing namespace std;
char str[1000];//輸入字串
int beichushu[1000],shang[1000],yushu[10000]; //被除數,商,餘數
int oldbase,newbase;
void change()
else if (str[i-1]>='a'&&str[i-1]<='z')
beichushu[i]=str[i-1]-'a'+36;
else
beichushu[i]=str[i-1]-'a'+10;
}}void solve()
yushu[++yushu[0]]/*餘數的長度同時標記*/ = y;//這一輪運算得到的餘數
i = 1;
//找到下一輪商的起始處
while((i<=shang[0]) && (shang[i]==0)) i++;//當最後乙個商為0時,i為2,賦值給j,肯定大於開始被除數的長度,新的被除數長度在57行就為0了
//清除這一輪使用的被除數
memset(beichushu,0,sizeof(beichushu));
//本輪得到的商變為下一輪的被除數
for(j = i;j <= shang/*(beichushu)*/[0];j++)
beichushu[++beichushu[0]]/*重新標記被除數的長度*/ = shang[j];
memset(shang,0,sizeof(shang)); //清除這一輪的商,為下一輪運算做準備
}}void output()
printf("\n\n");
}int main()
return 0;
}
**很好,有幾處控制很微妙的恰當 POJ 2330 進製轉換
乙個沒用到大數的進製轉換的思想 二 八 十 十六進製制轉換 篇 題目連線 include include include includeusing namespace std char str 1000 輸入字串 int beichushu 1000 shang 1000 yushu 10000 被...
POJ 2196進製轉換
題意 求出這樣的四位數的個數,滿足分別以十進位制 十二進位制 十六進製制表示時,數字相加之和相等。思路 剛開始我想到的是用itoa函式,後面寫出來了,但是沒通過,編譯錯誤,才知道itoa在poj中是非標準的函式,不能使用,所以重新寫了這個 還有乙個最快的程式就是雖然itoa非標準的函式,但是我可以算...
poj 1546 進製轉換
題意 輸入每組3個數a,b,c。其中a為b進製數,輸出將其轉化為c進製後的數。若轉化結果大於7位則輸出 error 2 b,c 16.思路 最笨的方法,先從b進製轉化為10進製,再轉化為c進製。include include char num 10 int a,b,s 10 int num2deci...