Výpočet pomocí rodného čísla – Funkcionální programování – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpočet pomocí rodného čísla – Funkcionální programování – Fórum – Programujte.comVýpočet pomocí rodného čísla – Funkcionální programování – Fórum – Programujte.com

 

Annomal
~ Anonymní uživatel
1 příspěvek
7. 11. 2017   #1
-
0
-

Zdravím, potřeboval bych poradit s tímhle dokumentem. Nemám páru jak to udělat   

Na základě rodného čísla vypište pohlaví + roční období, datum narození, uvažujte pouze prvních šest cifer, měsíc vypište slovem. Dále vypište následující informace: hvězdné znamení, věk v letech, jedná-li se o osobu plnoletou.  Na závěr dopište informaci, zda má daná osoba dnes narozeniny. např.  86 61 07 => žena, narozená na podzim 7.listopadu 1986 ve znamení štíra, má 19 let, je plnoletá, dnes nemá narozeniny  89 05 25 => muž, narozený na jaře 25.května 1989 ve znamení býka, má 16 let, není plnoletý, dnes má narozeniny 
V úvahu bereme v úvahu Tradiční zvěrokruh z Wikipedie: 

https://cs.wikipedia.org/wiki/Zv%C4%9Brokruh 

Formát rodného čísla 
 AABBCC/XXXX nebo 
 AABBCC/YYY AA Poslední dvojčíslí roku narození. BB Měsíc narození. U žen zvětšený o 50. CC Den narození. XXXX Rozlišení osob narozených ve stejný den. YYY Rozlišení osob narozených ve stejný den. Před rokem 1953. Desetimístná rodná čísla jsou dělitelná 11 beze zbytku. 

Nahlásit jako SPAM
IP: 188.246.111.–
Kit+15
Guru
7. 11. 2017   #2
-
0
-

#1 Annomal
Se kterou částí si nevíš rady?

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #3
-
0
-

AABBCC/YYY
AABBCC/XXXX
86 61 07 => žena, narozená na podzim 7.listopadu 1986 ve znamení štíra, má 19 let, je plnoletá, dnes nemá narozeniny

866107/4818 = vychozi bod (YYMMDD/xxxx, http://webdev.zaujimave.info/…dneho-cisla/ - druhy formular)
86 > 53 ? 10ti mistne cislo (<53 muze byt take 10 mistne, pokud jim predelili cislo dodatecne)
10ti mistne cislo? => 8661074818/11 = musi vyjit cele cislo (=787370438)
86 + 1900 = 1986 rok narozeni
61>50 ? zena
zena ? 61 - 50 = 11 mesic narozeni
07 = den narozeni
Uz mas den, mesic, rok, k tomu zjistit znameni snad neni takovy problem, ne?

Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #4
-
0
-

Mimochodem, kdyz si to propocitas, tak delitelnost 11 pro 4 koncove cisla xxxx vychazi max pro 100 RC. Takze se pocita s tim, ze se nenarodi v jeden den vice nez 100 muzu + 100 zen. Coz by mohl byt v budoucnu mozna problem :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
Kit+15
Guru
8. 11. 2017   #5
-
0
-

#4 peter
909 mužů + 909 žen.

Jenže se dá využít ještě třetí číslice zleva, která ten limit násobí.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #6
-
0
-

#5 Kit
To moc nechapu. Delal jsem si kdysi v js progra, kteremu, kdyz das 866107xxxx, tak ti dopocita vsechna cisla delitelna 11 pro xxxx = 0000 az 9999, vyslo jich 100 (mozna 99). Tohle bylo zenske cislo. Takze muzske bude mit dalsich 100, celkem 200 osob.
Jak to muze cislice, ktera uz tam je, uz se s ni pocitalo, mit vliv na delitelnost 11? :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
Kit+15
Guru
8. 11. 2017   #7
-
0
-

#6 peter
Z 10000 čísel (0000..9999) je 909 dělitelných 11.

Třetí číslice může nabývat nejen hodnot 0, 1, 5, 6, ale i 2, 3, 7, 8. Tím se počet možných rodných čísel zdvojnásobí.

Nahlásit jako SPAM
IP: 194.228.68.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #8
-
0
-

#7 Kit
Jak rikam, delal jsem program
866107xxxx / 11, vyslo to 100. Tve
xxxx / 11, muze vyjit 909, ale nerozumim, jak to ovlivni predchozi vysledek.
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #9
-
0
-

#8 peter
Dej to do kodu, treba javascript pro to rodne cislo a ukaz mi, ze to vypise vic nez 100 pouzitelnych rc. :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
peter
~ Anonymní uživatel
3989 příspěvků
8. 11. 2017   #10
-
+1
-
Zajímavé
Kit +

Tak, ja ted nevim, ten program zrovna po ruce nemam, ale napsal jsem v rychlosti to deleni a vychazi 910

<script>
var i, j, str, rc, rc_pref, a;
rc_pref  = 866107;
rc_pref *= 10000;
str = '';
j   = 0;
for(i=0; i<10000; i++)
	{
	rc   = rc_pref + i;
	if (rc % 11 == 0)
		{
		str += rc+'<br>';
		j++;
		}
	}
document.write(j + '<br>' + str);
</script>
Nahlásit jako SPAM
IP: 2001:718:2601:258:f017:74...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý