Răspuns :
Salut. Uite aici rezolvarea problemei. Succes in continuare!
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("prime.in");
ofstream out("prime.out");
bool Prime(int a, int b)
{
int x, y, r;
x = a;
y = b;
while (y > 0)
{
r = x % y;
x = y;
y = r;
}
return (x == 1);
}
int Suma(int numar)
{
int s = 0;
while (numar)
{
s += numar % 10;
numar /= 10;
}
return s;
}
void Descompunere(int numar)
{
int p;
int d = 2;
while (numar > 1)
{
p = 0;
while (numar % d == 0)
{
p++;
numar = numar / d;
}
if (p)
{
out << d << "^" << p << endl;
}
d++;
}
}
int main()
{
int a, b;
in >> a >> b;
if (Prime(a, b))
{
out << Suma(a) << " " << Suma(b);
}
else
{
if (a < b)
{
Descompunere(b);
}
else
{
Descompunere(a);
}
}
return 0;
}
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("prime.in");
ofstream out("prime.out");
bool Prime(int a, int b)
{
int x, y, r;
x = a;
y = b;
while (y > 0)
{
r = x % y;
x = y;
y = r;
}
return (x == 1);
}
int Suma(int numar)
{
int s = 0;
while (numar)
{
s += numar % 10;
numar /= 10;
}
return s;
}
void Descompunere(int numar)
{
int p;
int d = 2;
while (numar > 1)
{
p = 0;
while (numar % d == 0)
{
p++;
numar = numar / d;
}
if (p)
{
out << d << "^" << p << endl;
}
d++;
}
}
int main()
{
int a, b;
in >> a >> b;
if (Prime(a, b))
{
out << Suma(a) << " " << Suma(b);
}
else
{
if (a < b)
{
Descompunere(b);
}
else
{
Descompunere(a);
}
}
return 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!