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)