[ Springfield @ 12.09.2008. 14:52 ] @
E poz imam neki zadatak u vezi algoritma pa ako je neko raspolozen da mi to resi hvala unapred?? :)

1.Nacrtati algoritam pomocu koga se ispituje da li su u zadatom broju cifre naizmjenicne suprotne parnosti???




Eto ako neko moze da mi nacrta taj algoritam najprostiji koji moze :)
[ momsab @ 12.09.2008. 15:00 ] @
okaci sta si uradio do sada

objasni mi,posto ne kontam, sta znaci da su cifre naizmjenicne suprotne parnosti
za trocifren broj to je ovako: parna cifra - neparna cifra - parna cifra?
[ X Files @ 12.09.2008. 17:31 ] @
(12.09.2008. - 19:31) Tema je premeštena iz foruma C programiranje u forum Art of Programming.
[ jablan @ 13.09.2008. 17:30 ] @
Code:

def par_nepar? a
  a = a.to_s
  (1...a.length).to_a.all?{|i| a[i,1].to_i%2 != a[i-1,1].to_i%2}
end


>> par_nepar? 34789
=> true
>> par_nepar? 346789
=> false
[ Springfield @ 13.09.2008. 17:46 ] @
@momsab

Brate ja da znam ne bih ovdje vas profesionalce pitao :)
[ X Files @ 13.09.2008. 18:29 ] @
Citat:
Springfield: @momsab
Brate ja da znam ne bih ovdje vas profesionalce pitao :)

A kada bi svi samo pitali, a nista ne bi sami prethodno pokusavali - ne bi na ES-u ni bilo profesionalaca :)

/ NETESTIRANO !!! /
Code:

bool da_li_je_broj_naizmenicno_suprotne_parnosti_cifara( int broj )
{
   broj = abs( broj );
   int parnost = broj % 2;
   while ( broj > 0 )
   {
      broj = broj / 10;
      if ( ( broj % 2 ) == parnost )
         return ( false );
      parnost = broj % 2;
   }
   return ( true );
}


Sintaksa je C/C++ i od ovoga bi trebalo da lako sastavis algoritam.

P.S. Molim Vas da teme naslovljavate tako da kljucne reci koliko je moguce govore o samom problemu. Bilo je: "Ako moze pomoc :)"

Hvala na razumevanju.


[Ovu poruku je menjao X Files dana 13.09.2008. u 19:41 GMT+1]
[ jablan @ 13.09.2008. 20:32 ] @
Evo ga jedno rekurzivno:
Code:

def par_nepar? a
  return true if a < 10
  return false if a % 2 == (a / 10) % 2
  par_nepar?(a / 10)
end
[ misk0 @ 13.09.2008. 23:26 ] @
Poceli smo raditi zadacu? :)
[ jablan @ 14.09.2008. 06:36 ] @
Hehe, zadatak mu je da nacrta algoritam... Ja samo reklamiram rubi.
[ uranium @ 14.09.2008. 09:22 ] @
@jablan:

hmmm ... čini mi se da ovo baš i nije zadatak za Ruby ...


J programming language
J Software

interaktivni mod:


*/~:/"1>2<\2|"."0":347869
0


*/~:/"1>2<\2|"."0":34789
1



malo je složenije u slučaju da želimo verb [ ali i dalje kompaktnije od Ruby-ja ;) ]


p_n=:*/@:(~:/"1@:>@:((2&(< \)@:(2&|("."0":)))))


p_n 347869
0


p_n 34789
1



a evo i jednog a la chupcko rešenja u Bash-u :)
[ iliti: shell je svemoćan ;) ]


p_n() { expr `echo $1 | fold -w 1 | while read x; do expr $x % 2; done | uniq -d | wc -l` == 0;}
p_n 347869
0
p_n 34789
1