Ocena użytkownikóww: ***** / 0
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;
}