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: *****  / 1
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.cpp:
 #include <iostream>
 
/*
 * 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;
        
        std::ios_base::sync_with_stdio(false);
        
        std::cin >> N >> K;
 
        if( K > N) std::cout << "Ta liczba jest parzysta";
        else
        {
                if( Lagrange(N) > (Lagrange( K )+Lagrange(N-K)) ) std::cout << "Ta liczba jest parzysta";
                else std::cout << "Ta liczba nie jest parzysta";
        }        
        
        return 0;
}
Dodaj komentarz