Witam, rozwiązuję zadanie Run Bajtocja z OIG http://main.edu.pl/pl/archive/oig/3/run, napisałem taki kod:
#include <iostream>
using namespace std;
long double t[100000];
int main()
{
ios::sync_with_stdio(0);
cout.precision(0);
cout.setf(ios::fixed);
long double nww=0;
long double a,b,c,d,N;
std::ios::sync_with_stdio(false);
cin>>N;
cin>>t[0];
nww=t[0];
for(int i=1;i<N;i++)
{
cin>>t[i];
a=nww;
b=t[i];
d=a*b;
while (b!=0)
{
c = (unsigned long long int)a % (unsigned long long int)b;
a = b;
b = c;
}
nww=d/a;
}
for(int i=0;i<N;i++)
{
cout<<nww/t[i]<<endl;
}
return 0;
}
Zdobyłem 36 punktów, mam pytanie czy algorytm jest zły czy coś z wielkością zmiennych? Na moim systemie(windows) wyświetla mi liczby z kilkudziesięcioma zerami a na ich serwerze (linux) ten sam kod wyświetla błędne ale mniejsze liczby.