Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 
Jedno z rozwiązań Tomka Kominiarczuka 
Autor Wiadomość
Gwiazda 2
Avatar użytkownika

Dołączył(a): 20 sty 2009, o 13:52
Posty: 91
Lokalizacja: Wrocław
Post Jedno z rozwiązań Tomka Kominiarczuka
Tomek zgodził się pokazać wszystkim swoje rozwiązanie. Między innymi za nie otrzymał nagrodę :-)
Mnie się ono spodobało.
Kod:

#include <stdio.h>

static __inline__ unsigned long long int nwd(unsigned long long int a, unsigned long long int b)
{
       static unsigned long long int t;

       while (b)
       {
               t = b;
               b = a % b;
               a = t;
       }
       return a;
}

static __inline__ unsigned long long int nww(unsigned long long int a, unsigned long long int b)
{
       return (a*b)/nwd(a,b);
}

int main(int argc, char** argv)
{
       unsigned long long int t[8];

       scanf("%llu %llu %llu %llu %llu %llu %llu %llu", &t[0], &t[1], &t[2], &t[3], &t[4], &t[5], &t[6], &t[7]);

       unsigned long long int wynik = nww(t[0], t[1]);
       wynik = nww(wynik, t[2]);
       wynik = nww(wynik, t[3]);
       wynik = nww(wynik, t[4]);
       wynik = nww(wynik, t[5]);
       wynik = nww(wynik, t[6]);
       wynik = nww(wynik, t[7]);

       printf("%llu", wynik);


       return 0;
}
 

_________________
Rafał Nowak


5 cze 2009, o 09:03
Zobacz profil WWW
Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2Gwiazda 2
Avatar użytkownika

Dołączył(a): 29 maja 2009, o 22:54
Posty: 112
Post Re: Jedno z rozwiązań Tomka Kominiarczuka
Fajny tasiemiec :D
Kod:
static __inline__ unsigned long long int


5 cze 2009, o 20:58
Zobacz profil
Gwiazda 1
Avatar użytkownika

Dołączył(a): 20 sty 2009, o 17:31
Posty: 6
Post Re: Jedno z rozwiązań Tomka Kominiarczuka
Nie wiem czy to miało znaczenie w tym zadaniu, ale zachęcam do pisania:
Kod:
(a/nwd(a,b))*b

zamiast
Kod:
(a*b)/nwd(a,b)

no chyba, że nie boicie się overflowów.


8 cze 2009, o 12:16
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Dział zablokowany Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. Forum style based on STSoftware Hestia.
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL