noip2008 ISBN號碼 (模擬)

2021-09-30 12:25:16 字數 1396 閱讀 4246

a1163. isbn號碼

時間限制:

1.0s   記憶體限制:

256.0mb

總提交次數:

691ac次數:

268   平均分:

62.95

將本題分享到:

檢視未格式化的試題

提交試題討論

試題**

noip2008 普及組

問題描述

每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字、1位識別碼和3位分隔符,其規定格式如「x-***-***xx-x」,其 中符號「-」是分隔符(鍵盤上的減號),最後一位是識別碼,例如0-670-82162-4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出 版語言,例如0代表英語;第乙個分隔符「-」之後的三位數字代表出版社,例如670代表維京出版社;第二個分隔之後的五位數字代表該書在出版社的編號;最 後一位為識別碼。

識別碼的計算方法如下:

首位數字乘以1加上次位數字乘以2……以此類推,用所得的結果mod 11,所得的餘數即為識別碼,如果餘數為10,則識別碼為大寫字母x。例如isbn號碼0-670-82162-4中的識別碼4是這樣得到的:對 067082162這9個數字,從左至右,分別乘以1,2,…,9,再求和,即0×1+6×2+……+2×9=158,然後取158 mod 11的結果4作為識別碼。

你的任務是編寫程式判斷輸入的isbn號碼中識別碼是否正確,如果正確,則僅輸出「right」;如果錯誤,則輸出你認 為是正確的isbn號碼。

輸入格式

輸入只有一行,是乙個字串行,表示一本書的isbn號碼(保證輸入符合isbn號碼的格式要求)。

輸出格式

輸出一行,假如輸入的isbn號碼的識別碼正確,那麼輸出「right」,否則,按照規定的格式,輸出正確的isbn號碼(包括分 隔符「-」)。

樣例輸入

0-670-82162-4

樣例輸出

right

樣例輸入

0-670-82162-0

樣例輸出

0-670-82162-4

**:

#includeusing namespace std;

char s[20];

int main()

ans%=11;

if(ans<10)

if(ans!=s[12]-'0')

s[12]='0'+ans,printf("%s\n",s);

else printf("right\n");

else

if(s[12]!='x')

s[12]='x',printf("%s\n",s);

else printf("right\n");

return 0;

}

NOIP2008 普及組 ISBN 號碼

題目鏈結 題目描述 每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字 1位識別碼和3位分隔符,其規定格式如x xx x,其中符號 就是分隔符 鍵盤上的減號 最後一位是識別碼,例如0 670 82162 4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語言,例如0...

08NOIP普及組 ISBN號碼

題目描述 每一本正式出版的圖書都有乙個isbn號碼與之對應,isbn碼包括9位數字 1位識別碼和3位分隔符,其規定格式如 x xx x 其中符號 是分隔符 鍵盤上的減號 最後一位是識別碼,例如0 670 82162 4就是乙個標準的isbn碼。isbn碼的首位數字表示書籍的出版語音,例如0代表英語 ...

noip2008 傳球遊戲

上體育課的時候,小蠻的老師經常帶著同學們一起做遊戲。這次,老師帶著同學們一起做傳球遊戲。遊戲規則是這樣的 n個同學站成乙個圓圈,其中的乙個同學手裡拿著乙個球,當老師吹哨子時開始傳球,每個同學可以把球傳給自己左右的兩個同學中的乙個 左右任意 當老師再次吹哨子時,傳球停止,此時,拿著球沒傳出去的那個同學...