Probleme de informatica - enunturi si rezolvari

Probleme de informatică
Clasa a IX-a
Elementele de bază C++ (46)
Subprograme predefinite (1)
Fişiere text (2)
Algoritmi elementari (109)
Tablouri unidimensionale (83)
Tablouri bidimensionale (64)
Probleme diverse (13)
Clasa a X-a
Subprograme (funcții) (87)
Şiruri de caractere (49)
Tipul înregistrare (26)
Recursivitate (57)
Alocarea dinamică a memoriei (2)
Liste înlănţuite (25)
Algoritmul lui Lee (1)
Clasa a XI-a
Metoda "Divide et impera" (12)
Metoda Backtracking (85)
Metoda Greedy (6)
Programare dinamică (18)
Grafuri neorientate (37)
Grafuri orientate (38)
Arbori (33)
Clasa a XII-a
Elemente de bază C# (32)
POO în C# (13)
Programare vizuală în C# (10)
Examen de bacalaureat
Competențe digitale
Examen de atestat
Admitere UBB (18)
O proprietate interesanta a fractiilor ireductibile este aceea ca oricare dintre ele se poate obtine dupa urmatoarele reguli:
1) pe primul nivel se afla fractia 1/1
2) pe al 2-lea nivel se afla in stanga fractia 1/2 si in dreapta fractia 2/1
3) pe fiecare nivel k, sub fractia i/j de pe nivelul k-1 se plaseaza fractia i/(i+j) in stanga si fractia (i+j)/j in dreapta.
Primele 3 niveluri astfel obtinute sunt:
Nivelul 1: 1/1
Nivelul 2: 1/2 2/1
Nivelul 3: 1/3 3/2 2/3 3/1
Dandu-se o fractie oarecare prin numaratorul n si numitorul m (n,m intre 1 si 2000000000), determinati pe ce nivel se afla fractia data sau fractia ireductibila echivalenta cu fractia data.
Exemple: Fractia 12/8 se afla pe nivelul 3 (este echivalenta cu fractia ireductibila 3/2).
Fractia 13/8 se afla pe nivelul 6.

#include<iostream>
using namespace std;
int cmmdc(int a, int b)
{
	while(b)
	{
		int r=a%b;
		a=b;
		b=r;
	}
	return a;
}

int main()
{ int n,m,x,y,c,k=1;
  cin>>n>>m;
  c=cmmdc(n,m);
  n=n/c;
  m=m/c;
  while(n!=1 || m!=1)
  {
	  if(n>m)
	  {
		  y=m;
		  x=n-y;
	  }
	  else
	  {
		  x=n;
		  y=m-x;
	  }
	  k++;
	  n=x;
	  m=y;
	  if(n==1) { k=k+m-1; m=1;}
	  else if(m==1) { k=k+n-1; n=1; }	  
  }
  cout<<k;
  return 0;
}

17 aug 2018
Site-ul conține 867 de probleme rezolvate
Copyright © 2009-2018 Muresan Vasile Ciprian