LISTA 3

Zad.1

0x01 graphic

Zad.2

0x08 graphic
0x01 graphic

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

  1. 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)