Hogy tudok generálni 20 db 4 jegyű számot úgy, hogy minden számjegye páros legyen? C nyelven
Kezdd kicsiben! Először is adj egy kódot, ami megadja a 1256 jobbról számított második számjegyét (azaz az 5-öt)!
#include <stdio.h>
int main() {
.. int Num = 1256;
.. int Szamjegy = ???;
.. printf("%d\n", Szamjegy);
.. return 0;
}
Itt házid, menjél aludni:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int db = 0, szam;
srand(time(NULL));
while (db < 20){
szam = rand() % 9000 + 1000;
if (( szam % 2 == 0) && ( szam / 10 % 2 == 0) && ( szam / 100 % 2 == 0) && ( szam / 1000 % 2 == 0)) {
db++;
printf("%d \n", szam);
}
}
system("PAUSE");
return 0;
}
SimkoL biztos hogy ó ez a megoldás?
Mert ha Pl a szam 2222, és osztod 10-el, akkor 222,2 lesz, amit 2-vel osztva nem nulla lesz maradék. Bár nem is tudom hogy mit jelent a rand() % 9000 + 1000, nem vagyok C-s. :)
Egy némileg igényesebb megoldás:
<script>
var szamok = new Array();
for(i=0;i<20;i++){
szamok[i] = 0;
for(j=0;j<4;j++){
szamok[i] += Math.floor(Math.random()*5)*2*Math.pow(10,j);
}
if(szamok[i]<10){szamok[i] *= 1000;}
else if(szamok[i]<100){szamok[i] *= 100;}
else if(szamok[i]<1000){szamok[i] *= 10;}
document.writeln(szamok[i]+'<br>');
}
</script>
Hogy ne kelljen ismeretlen mennyiségű számot generáltatni. :) Aki akarja, írja át típusosra, úgy még optimálisabb lehet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!