Impartirea a doua numere prin scaderi repetate
Analiza Programului
Se stie din clasele elementare ca impartirea inseamna de fapt niste scaderi repetate. Astfel, a:b inseamna b scazut de c ori si este posibil sa existe si un rest apartine [0, b-1]. nu se stie de cate ori se va scadea b din a, acest lucru se va afla doar la final, de asemenea si eventualul rest. in acest sens, pentru a repeta scaderea se va utiliza instructiunea repetitiva cu numar necunoscut de pasi si anume while. Conditia ca scaderea sa se mai repete esta ca a>=b. De fiecare data cand se mai face o scadere se va incrementa variabila c, care in final va reprezenta catul. Valoarea care ramane in final in a reprezinta restul.
Variabilele c si r se initializeaza cu 0, urmand ca la final sa contina catul (obtinut in cadrul ciclului while) si restul impartirii. Deoarece valoarea lui a se alterneaza in timpul calculului, daca se doreste se poate face o copie a sa inainte de a intra in ciclul while
Rezolvarea problemei in C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _7 { class Program { static void Main(string[] args) { int a, b, a1 = 0, c = 0, r = 0; Console.Write("Introduceti a = "); a = int.Parse(Console.ReadLine()); Console.Write("Introduceti b = "); b = int.Parse(Console.ReadLine()); a1 = a; while (a1 >= b) { a1 = a1 - b; c++; } r = a1; Console.WriteLine("{0} : {1} = {2} rest {3}", a, b, c, r); Console.ReadLine(); } } }
Rezolvarea problemei in C++
//the header conio, which include library functions for performing "console input and output" #include <conio.h> //the header iostream, which supports the C++ I/O system #include <iostream> //tells the compiler to use the std namespace using namespace std; //begin program execution int main() { //declare variables int a, b, c = 0, r = 0; //display message on the screen cout<<"Introduceti primul numar: "<<endl; //read from keyboard cin>>a; cout<<"Introduceti al doilea numar: "<<endl; cin>>b; while(a >= b) { a = a-b; c++; } r = a; cout<<"Catul este "<<c<<endl; cout<<"Restul este "<<r<<endl; //terminates main and return value to the calling process return 0; }
carmen says:
nu reusec sa intelec cum sa fac o impartire cu rest pana ajung sa am restul 0
help