Ocena użytkownikóww: ***** / 7
Nadesłany przez Bartosz Bednarczyk, 11 lipca 2011 14: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 - Iteracyjnie.c:
#include <stdio.h>
/*
* Bartosz "WiedźMAC" Bednarczyk
* Liceum Ogólnokształcące im. Władysława Broniewskiego w Strzelcach Opolskich
* Iteracyjne obliczanie wartości Symbolu Newtona ( ANSI C )
* www.algorytm.org
*/
double Newton( unsigned int n, unsigned int k) // Funkcja obliczająca symbol newtona
{
double Wynik = 1; // Deklaracja zmiennych ( używamy double dla dokładności obliczeń )
unsigned int i;
for(i = 1; i <= k; i++) // Od 1 do k wykonujemy :
{
Wynik = Wynik * ( n - i + 1 ) / i; // Obliczanie ze wzoru iteracyjnego
}
return Wynik; // Zwróć Wynik
}
int main(void)
{
unsigned int n, k;
scanf("%d %d", &n, &k ); // Wczytywanie liczb
if( k == 0 || k == n ) puts("1"); // Jeżeli k = 0 lub k = n to wypisz 1
else printf( "%.0lf", Newton(n, k) ); // W przeciwnym wypadku oblicz wartość symbolu newtona
return 0;
}