Monika Dekster

Laboratorium 2. Pętle i funkcje.

Zadania

  1. Proszę napisać program, który wypisze ile jest liczb podzielnych przez przez 3 oraz niepodzielnych przez 7 w zakresie od 0 do 50; od 50 do 100 oraz od 100 do 150. Wynik proszę przedstawić w następującej formie:

    
    od   1 do  50 jest .......liczb
    od  51 do 100 jest .......liczb
    od 101 do 150 jest .......liczb
    
  2. Proszę napisać funkcję, która: zwraca wartość pierwiastka $n$-tego stopnia z liczby $A$; proszę zastosować następujący algorytm iteracyjny:

    • Jako pierwsze przybliżenie liczby $\sqrt[{n}]{A}$ przyjmij dowolną liczbę $x_{0}$. Może to być np. $x_{0}=A$.
    • Za kolejne przybliżenie weź \[ x_{k+1}={\frac {1}{n}}\left({(n-1)x_{k}+{\frac {A}{x_{k}^{n-1}}}}\right) \]
    • Powtarzaj iterację tak długo, aż otrzymasz wymaganą dokładność przybliżenia.
  3. Proszę napisać funkcję, która:

    • zwraca sumę kwadratów cyfr liczby;
    • sprawdza czy wszystkie cyfry w liczbie są unikalne (występują w niej 1 raz);
    • zwraca NWD dwóch liczb;
    • sprawdza czy liczba jest elementem ciągu Fibonacciego;
    • sprawdza czy liczba jest wielokrotnością kwadratu liczby naturalnej większej od 2;

    W funkcji main() proszę przetestować w/w funkcje dla wczytanych i/lub losowych danych.

  4. Proszę napisać funkcję bool is_prime(int n), która sprawdza czy zadana parametrem liczba jest pierwsza. Następnie proszę napisać funkcję void print_primes(int m, int n), która (korzystając z funkcji is_prime()) wypisze wszystkie liczby pierwsze z przedziału [m, n] oraz funkcję int num_primes(int m, int n), która zwróci ich liczbę. Wykorzystując te funkcje proszę wypisać liczby pierwsze z przedziału [50, 150] oraz liczbę liczb pierwszych w kolejnych 10 setkach (czyli przedziałach [1, 100], [101, 200], ...).