Ćwiczenie 1
Napisz program w języku C++, który będzie liczył największy wspólny dzielnik oraz najmniejszą wspólną wielokrotność dwóch liczb całkowitych.

Ćwiczenie 2
Napisz program, który wczyta ze standardowego wejścia dwie dodatnie liczby całkowite a oraz b. Następnie program niech wypisze wielokrotności a, mniejsze od b.

Ćwiczenie 3 (zadanie dodatkowe nieobowiązkowe)
Proszę napisać program, który będzie pobierał liczbę zmiennoprzecinkową ze standardowego wejścia, a wypisywał odpowiednik tej liczby w postaci liczby binarnej.

Przykład:

Wejście: 125,33

Wyjście: 1111101,010101000111


Część całkowita:
Liczbę dzielimy przez dwa zapisując reszty z dzielenia:
125 : 2 = 62 | 1 (reszta)
62 : 2 = 31 | 0
31 : 2 = 15 | 1
15 : 2 = 7 | 1
7 : 2=3 | 1
3 : 2=1 | 1
1 : 2=0 | 1

Reszty z dzielenia zapisujemy od końca: 1111101.

Część ułamkowa:
Liczby mnożymy przez dwa i zapisujemy część całkowitą:
0,33 |
0,66 | 0
0,32 | 1
0,64 | 0
0,28 | 1
0,56 | 0
0,12 | 1
0,24 | 0
0,48 | 0
0,96 | 0
0,92 | 1
0,84 | 1
0,68 | 1

Części całkowitą zapisujemy od początku: (0, 010101000111)2 = 0,329833984375)10

Tutaj umieść kod źródłowy programów:
ćwiczenie 1

ćwiczenie 2

ćwiczenie 3


Odpowiedź :

Odpowiedź:

Ćwiczenie 1:

#include <iostream>

using namespace std;

int nwd(int a, int b)

{

  if (b == 0)

  return a;

  return nwd(b, a % b);

}

long long nww(int a, int b)

{

   return (a / nwd(a, b)) * b;

}

int main()

{

   int a,b;

   cout<<"Wprowadz a: ";cin>>a;

   cout<<"Wprowadz b: ";cin>>b;

   cout<<"Najwiekszy wspolny dzielnik a: "<<nwd(a,b)<<'\n';

   cout<<"Najmniejsza wspólna wielokrotność b: "<<nww(a,b)<<endl;

   return 0;

}

Ćwiczenie 2:

#include<iostream>

using namespace std;

int main()

{

  int a,b;

  cout << "Wczytaj a: ";   cin >> a;

  cout << "Wczytaj b: ";   cin >> b;

  int x = 0;

  for(int i=1;x+a<b;i++)

  {

      x = a*i;

      cout << x << endl;

  }

  return 0;

}