Răspuns:
#include <iostream>
using namespace std;
int main()
{unsigned int x,copx,cmmdc,ult;
bool ok=1;
cin>>x;
ult=x;
cin>>x;
copx=x;
{if(copx>ult)
copx=copx-ult;
else
ult=ult-copx;}
cmmdc=copx;
ult=x;
while (x!=0)
{cin>>x;
if (x!=0)
{copx=x;
while(ult!=copx)
{if(copx>ult)
copx=copx-ult;
else
ult=ult-copx;}
if (ok==1)
if (cmmdc==copx)
cmmdc=copx;
else
if (cmmdc<copx)
{while (copx>cmmdc)
copx=copx-cmmdc;
if (cmmdc!=copx)
ok=0;}
else
{if (cmmdc>copx)
while (cmmdc>copx)
cmmdc=cmmdc-copx;
if (cmmdc!=copx)
ok=0;}
ult=x;}}
cout<<cmmdc;
return 0;
}
copx --> copia lui x
ult --> ultimul x citit