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;
}