algorytm.org

Implementacja w C/C++



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Symbol Newtona - Implementacja w C/C++
Ocena użytkownikóww: *****  / 0
SłabyŚwietny
Nadesłany przez Bartosz Bednarczyk, 12 lipca 2011 21:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Symbol Newtona - Parzystosc - Lagrange.c:
 #include <stdio.h>
 
/*
 * Bartosz "WiedźMAC" Bednarczyk
 * Liceum Ogólnokształcące im. Władysława Broniewskiego w Strzelcach Opolskich
 * Sprawdzanie parzystości symbolu newtona - twierdzenie Lagrange'a ( C )
 * www.algorytm.org
 */
 
long long Lagrange( long long n)        // Twierdzenie Lagrange'a
{
        long long W = 2, Wyk =0;
        
        while( n / W >= 1 )     // Dopóki N / W jest większe równe 1
        {
                Wyk += n / W;   // Do wykładnika dodaj iloraz n i W
                W *= 2;         // Pomóż W
        }
        
        return Wyk;     // Zwróć wykładnik
} 
 
int main(void) 
{
        long long N, K;
        
        scanf("%lld %lld", &N, &K );
 
        if( K > N) puts("Ta liczba jest parzysta");
        else
        {
                if( Lagrange(N) > (Lagrange( K )+Lagrange(N-K)) ) puts("Ta liczba jest parzysta");
                else puts("Ta liczba nie jest parzysta");
        }        
        
        return 0;
}
Dodaj komentarz