Matura 2016 (maj). Zadanie 2. Zapis liczb

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

Leave a Reply

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>