Kiszámítása ellenőrző számjegy ISBN

szavazat
4

Ez tulajdonképpen nem házi feladat, én csak átnéz néhány kérdést a diszkrét matematika könyvet, mielőtt elkezdem a számítógép-tudomány a jövő héten.

Különben is, az egyik kérdés arra kéri, hogy írjak egy programot végrehajtani ezt az algoritmust (ami megmagyarázza). A részben vagyok ragadt, hogyan, hogy a 9 jegyű számot és a „split” be egyetlen egész, ezért a számításokat lehet végezni az egyes számjegyet.

Arra gondoltam, hogy a számot elosztjuk 100.000.000, majd vesz egy egész értéket e, hogy az első számjegy, de nem vagyok benne biztos, hogyan lehet a többiek.

Ha ez volt a PHP vagy valamit, amit csak használni felrobban (), de azt hiszem, hogy nem ez a lényeg itt van: P

A kérdést 12/09/2010 23:15
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
4

Használhatja a mod (%), és osszuk (/) operátor.

N% 10 adna az utolsó számjegyet. N / 10 (osztás) eltávolítja az utolsó számjegyet.

Akkor továbbra is, amíg meg nem több számjegyből áll.

Válaszolt 12/09/2010 23:18
a forrás felhasználó

szavazat
0

használja a modulo művelet:

a % 10 to get the last digit
a % 100 to get the last two digits. (a % 100) - (a % 10) to get the second last number
etc.
Válaszolt 12/09/2010 23:19
a forrás felhasználó

szavazat
1

Miután osztva 100000000 és hozott egy egész értéket, akkor majd szorozzuk ezt az egész számot vissza 100.000.000, és vonjuk ki a ISBN. Ez gyakorlatilag csak leveszi a bal szélső számjegy. Tehát most, ismételje 10,000,000 - és így tovább.

Példa 5 számjegy:

Start: 74325

74325/10000 and int = 7 (there's your first digit)
7 * 10000 = 70000
74325 - 70000 = 4325

4325/1000 and int = 4 (there's your next digit)
4 * 1000 = 4000
4325 - 4000 = 325

stb!

Válaszolt 12/09/2010 23:23
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more