Z9. Napisz program, który dla danej całkowitej dodatniej liczby k wyświetli na ekranie k kolejnych potęg naturalnych liczby k, oddzielając je przecinkami.
Np. dla k=6 powinno się wyświetlić: „1, 6, 36, 216, 1296, 7776” (bez przecinka na końcu!).
Z10. („O wdowim groszu”) W roku narodzin Chrystusa pewna wdowa złożyła 1gr na konto oprocentowane na 1% w skali roku. Ile złotych będzie miał na tym koncie w nadchodzącego Sylwestra praprapraprapraprapraprapraprapra-prapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapra-praprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprapraprawnuk tej pani?
Napisz program, który to obliczy, używając najwyżej 2 zmiennych. (Wynik może zostać wyświetlony w postaci wykładniczej i wiedząc to, powinnaś/-nieneś ją rozumieć!)
Tak rośnie funkcja wykładnicza...
Z11. W którym z powyższych zadań wygodnie/sensownie jest użyć pętli while?
Z12. Co powinien wypisać program: a=123045600789;
while (a>0) { cout << a%10; a = (a–(a%10))/10; } ?
12’. Jak zadziałałby ten program, gdyby początkową wartością a była liczba:
a) 54321, b) 10, c) jednocyfrowa, d) 0?
12’’. Jak można w C++ (znacznie) uprościć wartość w ostatnim podstawieniu?
Z13. Możliwie prosto (na kilka sposobów? :>) uzasadnij, że:
a) suma ujemnych potęg dwójki to 1;
b) 2/7+3/9+4/11+5/13+... = (wskazówka: od czego jest większy [prawie] każdy składnik?);
c) suma odwrotności silni wszystkich liczb naturalnych jest skończona, czyli nie przekracza pewnej wartości. (Wskazówka: jak można oszacować [prawie] każdy jej składnik?)
Z14. Napisz programik, który ustali, czy dane x jest doskonałe.
(Doskonałe są np. 6 (=1+2+3) i 28 (=1+2+4+7+14), bo (DEFINICJA!)
Liczba naturalna n jest doskonała. n jest sumą swoich dzielników mniejszych od siebie (tzw. swoich dzielników właściwych).).
Z14½. Znajdź kolejne liczby doskonałe.
Z14¾ . Napisz program, który wypisze n (n podaje użytkownik) najmniejszych liczb doskonałych. (Wystarczy, że będzie działał dla n<=4, bo już przy n=5 czas jego działania... – no właśnie: potrafisz ten czas oszacować? (Zad. nieobowiązkowe (możliwa gratyfikacja!), rozwiązania (pełne rozumowanie + rachunki) proszę przesyłać mejlem. Podpowiedź: z sensownym przybliżeniem (całkiem dobrym przy dużych x) można przyjąć, że czas ten jest proporcjonalny do liczby wszystkich obrotów wewn. pętli. (Wiesz dlaczego?))
Uwaga: w poniższych zadaniach należy nie znać potęgowania w C++!
Z15. Napisz program znajdujący
b) pierwszą całkowitą potęgę dwójki przekraczającą milion;
c) max{n: 1/1+1/2+1/3+...+1/n < s}, jeśli s jest dodatnią liczbą podaną przez użytkownika.
Z16. Napisz program[ik], który:
a) dla wczytanych naturalnych a i b (zakładamy spokojnie, że a<b) wypisze w kolejnych linijkach niepodzielne przez 3 wielokrotności piątki z przedziału* [a, b), numerując je kolejno;
(Czyli np. dla a=3 i b=20 powinno się wyświetlić: 1. 5
2. 10).
b) stwierdzi, ile liczb z przedziału* [12, k] (k podaje użytkownik) ma nieparzystą przedostatnią cyfrę;
c) będzie reagował na wprowadzane przez użytkownika liczby naturalne, pisząc „nie”, jeśli jest ona podzielna przez 3, a „OK” i kończąc wczytywanie, jeśli nie;
(Czyli np. może przebiec tak o: 12
nie
27
nie
6
nie
12
nie
13
OK).
d) wypisze wszystkie liczby trójkątne z przedziału (a, b), oddzielając je przecinkami (ale nie stawiając oczywiście przecinka po ostatniej!); (Czyli np. dla a = 3, b = 15,2 napisze „6, 10, 15”).
(Liczby trójkątne to sumy kolejnych liczb naturalnych, czyli kolejno 1 (=1), 3 (=1+2), 6 (=1+2+3), 10, ... Ponieważ stanowią one analogię silni (dlaczegóż?!!), dowcipni informatycy nazywają je czasem słabniami i oznaczają: 1? (=1), 2? (=3) itd.).
e) dla podanego x rzeczywistego znajdzie sumę naturalnych potęg dwójki, które nie przekraczają x, tj. np. dla x=8 obliczy (i wypisze) wartość 20+21+22+23;
f) zliczy, ile jest sześciocyfrowych (= z przedziału* [100000, 999999]) sześcianów liczb naturalnych;
g) dla podanych całkowitych a i b wypisuje wyrażenie a*(a+1)+(a+1)*(a+2)+…+(b-1)*b, liczby ujemne otaczając nawiasami, znak równości i jego wartość, tzn. np. dla a=2, b=1 napisze „(-2)*(-1)+(-1)*0+0*1=2”;
h) wypisze wszystkie pary liczb całkowitych x i y z przedziału [-100,100] spełniające równanie x3=xy+y2;
i) zliczy pary dwucyfrowych liczb a i b, suma sześcianów których jest mniejsza od 12345;
j) znajdzie wszystkie trójkąty pitagorejskie o wszystkich bokach mniejszych od 1000;
3 6 9 12 15
2 4 6 8 10
1 2 3 4 5
3 6 9 12 15
2 4 6 8 10
1 2 3 4 5
3 6 9 12 15
2 4 6 8 10
1 2 3 4 5
0
12
345
6789
01234
k) dla podanych m i n wyświetla coś, co dla (m, n) = (3, 5) wygląda tak: ;
l) dla podanego n wyświetli n wierszy piramidki, która dla n=5 wygląda tak o: (w kolejnych wierszach dopisywane są cyklicznie kolejne cyfry);
ł) dla podanego naturalnego n drukuje w kolejnych liniach kolejno: kolejną liczbę naturalną i[1, n] i najmniejszą liczbę naturalną, której silnia przekracza i. Aspirujący do uzyskania mojej pochwały niechaj spróbują zrobić to, nie zmuszając komputera do liczenia kolejno kolejnych silni;
111111
2 2
3 3
4 4
5 5
666666
m) taką ramkę: (a ściślej jej odpowiednik dla parametru n,
1
121
12321
1234321
którego wartość (mniejszą niż 10) poda użytkownik
– w przykładzie po lewej n=6 – to chyba jasne?)
n) … i taką piramidkę jak po prawej (również sparametryzowaną):
: ~msliw~msliw -> Zad. Podaj wyniczki (pomyśl o uzasadnieniu czy z czegoś może korzystasz?): a) 2~msliw -> Grupa napisz program, który: (P1) wczyta rzeczywistą liczbę~msliw -> Abafazi, abafana, umfazi, umdlali, umzali; chłopcy, mężatka, mężatki, rodzic, zawodnik~msliw -> Odpowiedzi powinny być napisane tak, by było z nich widać Państwa [możliwie głębokie] zrozumienie tematu!
|