#include /* Program pocitajici nejmensi spolecny nasobek pomoci * nejvetsiho spolecneho delitele. Pocita po dvou cislech. * Na vstupu ocekava kladna cisla, toto nekontroluje */ // compute nsd -- nejvetsi spoecny delitel (at zije jazykovy kockopes) int cnsd(int a, int b) { // tak snad uz si Eukliduv alg. zapamatuju i ja ;) while (b) { int tmp = a % b; a = b; b = tmp; } return a; } // tak nic, no, zkusim to za rok znova ;) int main(void) { int pocet; // pocet cisel scanf("%d", &pocet); // nacteme pocet cisel int p[pocet]; // pole cisel for (int i = 0; i < pocet; ++i) scanf("%d", &p[i]); // nacteme cisla printf("nsn cisel je == "); int nsn = p[0]; // zaciname s 1. cislem (index 0) for (int i = 1; i < pocet; ++i) { // pocitame nsn z cisla s indexem 1 az pocet-1 int nsd = cnsd(nsn, p[i]); // a predchoziho nsn pomoci nsd nsn *= p[i]/nsd; } printf("%d\n", nsn); // vypiseme nsn return 0; }