LISTA 3
Zad.1
Zad.2
Zad.3
a)
| Nr linii | X | H | Wynik | uwagi | 
| 1 | 
 | 
 | 1 | <<X | 
| 2 | 6 | 
 | 1 | 
 | 
| 3 | 
 | 
 | 1 | <<H | 
| 4 | 
 | 3 | 1 | 
 | 
| 5 | 
 | 2 | 6 | 
 | 
| 6 | 
 | 1 | 36 | FAŁSZ (IF H==0) | 
| 7 | 
 | 0 | 216 | WYNIK H==0 prawda | 
| 8 | 
 | 
 | 
 | 
 | 
b)
| Algorytm 1 | Mnożeń | Dzieleń | Porównań | 
| 1 | n | N | N+1 | 
Zad.4
a)
| Nr linii | y | h | n | 
 | uwagi | 
| 1 | 1 | 3 | 4 | N>0 | PRAWDA | 
| 2 | 
 | 
 | 
 | 2|n | FAŁSZ | 
| 3 | 
 | 
 | 
 | 2|n | FAŁSZ | 
| 7 | 3 | 
 | 
 | 
 | 
 | 
| 4 | 
 | 9 | 2 | 
 | 
 | 
| 5 | 
 | 81 | 1 | 
 | 
 | 
| …. | 
 | 
 | 
 | 
 | 
 | 
| 
 | 81 | 27^2 | 0 | 
 | 
 | 
b)
3^4 = 81
N=81
c)
| Algorytm | Mnożeń | Dzieleń | Porównań | 
| 2 | 1-2/pętla | 1/pętla | 2/ pętla | 
Zad.5
Zidentyfikuj największy krążek na nie swoim miejscu (=krążek N)
2. If daje się go przenieść na docelowy słupek Then przenieś
Else
3. Podzadanie: ustaw (N-1)-krążkową wieżę na nie-docelowym słupku.
4. Skocz do punktu 1. ...
ALBO 
1. przenieś najmniejszy krążek na kolejny (*) słupek.
2. wykonaj jedyny możliwy do wykonania ruch, nie zmieniając położenia krążka najmniejszego
3. powtarzaj punkty 1 i 2, aż do odpowiedniego ułożenia wszystkich krążków.
Zad. 7
#include <stdio.h> 
#include <stdlib.h> 
int sprawdz(char wyraz[], int ile) 
{ 
int x = 0; 
while(x < (ile - 1)) { 
if (wyraz[x] != wyraz[(ile - 1) - x]) 
return 0; /* jezeli litery sie roznia, zwracamy 0 */ 
x++; /* jezeli sie nie roznia - sprawdzamy kolejna */ 
} 
return 1; /* jezeli zadna sie nie rozni, zwracamy 1 */ 
} 
int main() { 
char wyraz[666]; 
int ile; 
printf("Podaj wyraz: "); 
scanf("%s", &wyraz); 
ile = strlen(wyraz); 
if(sprawdz(wyraz, ile)) printf("Wyraz jest palindromem!\n"); 
else printf("Wyraz nie jest palindromem!\n"); 
return 0; 
}
Function fib (a,b) function fib'(h)
If (a==1) int i=0
Return 1; return
Else
Return fib(a)