洛谷 P1017 進製轉換

2021-10-06 03:16:10 字數 560 閱讀 2335

傳送門:

該題考察的較為基礎,雖然俺從前沒有學過負進製除法,但是自己短除取餘,找找規律即可:

例如,-15/-2=7······-1,但是,題目說餘數不能為負。

餘數怎麼求呢,餘數= -15 - (-15/-2),之所以得到負數,是因為-15/-2的絕對值是小於-15的,且為絕對值的最大值。

那麼,在餘數為負數時,我們讓商+1即可,即餘數= -15 - (-15/2+1)=1

**:

#include int main(void) ;

int i,j;

scanf("%d %d",&n,&r);

x=n;

i=0;

do else

x=x/r+1;

} else else

x=x/r;

}} while(x!=0);

printf("%d=",n);

for(j=i-1; j>=0; j--)

printf("(base%d)",r);

return 0;

}

祝大家題題ac

洛谷 P1017 進製轉換

題目描述 我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置的 值減1 為指數,以10為底數的冪之和的形式。例如 123可表示為 1 10 2 2 10 1 3 10 0這樣的形式。與之相似的,對二進位制數來說,也可表示成每個二進位制數碼乘以乙個以該數字所處位置的 值...

洛谷 P1017 進製轉換

我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置的 值減1 為指數,以10為底數的冪之和的形式。例如 123可表示為 1 10 2 2 10 1 3 10 0這樣的形式。與之相似的,對二進位制數來說,也可表示成每個二進位制數碼乘以乙個以該數字所處位置的 值 1 為指...

洛谷P1017(進製轉換)

我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置為指數,以 10 為底數的冪之和的形式。例如 123可表示為 1 10 2 2 101 3 10 01 times 2 2 times 1 3 times 0 1 102 2 10 1 3 100這樣的形式。與之相似的...