Matura 2016 (maj). Zadanie 2. Zapis liczb
Dowolną liczbę n ∈ N można zapisać za pomocą sumy: sumy jej cyfr i iloczynu pewnego współczynnika k oraz liczby 9, gdzie k ∈ N .
Przykłady:
19 = 1 + 9 + (1 * 9)
123 = 1 + 2 + 3 + (13 * 9)
Zadanie 1.
Uzupełnij tabelę – wpisz dla podanej liczby n jej rozkład i współczynnik k.
n | Rozkład liczby | k |
11 | 1 + 1 + ( k * 9 ) = 2 + 1 * 9 | 1 |
42 | 4 + 2 + ( k * 9 ) = 6 + 4 * 9 | 4 |
375 | 3 + 7 + 5 + ( k * 9 ) = 15 + 40 * 9 | 40 |
913 | 9 + 1 + 3 + ( k * 9 ) = 13 + 100 * 9 | 100 |
Obliczenia:
Wykonujemy sumowanie poszczególnych cyfr podanej liczby n. Następnie mamy liczbę z jedną niewiadomą. Ogólny wzór to:
Sc + k * 9 = n
k = ( n – Sc ) / 9
gdzie k – szukany współczynnik, n – liczba, Sc – suma cyfr składających się na liczbę n.
n= 42
k = ( 42 – 6 ) / 9 = 4
Zadanie 2.
Zapisz algorytm w wybranej przez siebie notacji obliczający sumę cyfr w zapisie dziesiętnym danej liczby n ∈ N . W zapisie algorytmu możesz korzystać tylko z następujących operacji arytmetycznych: dodawania, odejmowania, mnożenia, dzielenia całkowitego i obliczania reszty z dzielenia.
Specyfikacja:
Dane:
n ∈ N
Wynik:
s – suma cyfr liczby n
Algorytm:
#include <iostream> using namespace std; int main() { int n = 913; int suma=0; while (n>0) { suma=suma+n%10; n=n/10; } cout << suma << endl; return 0; }
Zadanie 3.
Zapisz algorytm w wybranej przez siebie notacji, który oblicza współczynnik k dla n ∈ N. W zapisie algorytmu możesz korzystać tylko z następujących operacji arytmetycznych: dodawania, odejmowania, mnożenia, dzielenia całkowitego i obliczania reszty z dzielenia. Możesz również zastosować funkcję suma_cyfr(n) obliczającą sumę cyfr liczby n.
Specyfikacja:
Dane:
n ∈ N
Wynik:
współczynnik k w rozkładzie liczby n
Algorytm:
#include <iostream> using namespace std; int Sc(int n) { int suma=0; while (n>0) { suma=suma+n%10; n=n/10; } return suma; } int main() { int n = 3; cout << "k= " << (n-Sc(n))/9 << endl; return 0; }