Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* a) Scrieţi definiţia completă a subprogramului dcp, cu doi parametri, care:
- - primeşte prin parametrii a şi b două valori naturale din intervalul [1;30000]
- - returnează o valoare naturală reprezentând cel mai mare număr care este atât divizor al lui a
- cât şi divizor al lui b şi care se scrie ca un produs de factori primi diferiţi, sau valoarea 1 dacă
- nu există un astfel de divizor.
- Exemplu: dacă a=100 şi b=120, subprogramul returnează valoarea 10. */
- #include <iostream>
- using namespace std;
- int dcp(int a,int b)
- {
- int div,q,qq,f,p,ok,i;
- for (div=1;div<=30000;div++)
- if (a%div==0 && b%div==0)
- q=div;
- qq=q;
- int fv[qq];
- f=2;
- while(qq!=1)
- {
- p=0;
- while(qq%i==0)
- {
- qq/=i;
- p++;
- }
- if(p!=0)
- fv[f]=p;
- f++;
- }
- ok=0;
- for (i=2;i<=qq;i++)
- cout<<fv[i]<<" ";
- ok=1;
- if (ok=0)
- return q;
- else
- return 1;
- }
- int main()
- {
- cout<<dcp(100,120);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement