Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Mohl bych se zeptat jestli by mi někdo poradil, program pod tímto dotazem je na rozklad čísla na součin prvočísel. Potřeboval bych poradit co ve kterém cyklu znamenají různé operace, jsem v programování začátečník a chtěl bych si tuhle část vyzkoušet v programu, ale chci zjistit co a jak funguje?
Děkuji za případné odpovědi
int i,j,x; /* nadefinovani promennych pro operace */
int prvocisla[500], indexP = 0;
x = 2;
while (number % x != 0) x++;
if(number == x){
prvocisla[indexP] = number, indexP++;
goto ven;
}
for(i = 2; i <= number; i++){
/* castecne odlehceni vypocetniho algoritmu */
{
if(((i%2) == 0) && i != 2 )
continue;
if(((i%3) == 0) && i != 3 )
continue;
if(((i%5) == 0) && i != 5 )
continue;
if(((i%7) == 0) && i != 7 )
continue;
}
x = 2;
while (i % x != 0) x++;
if(i==x){
while((number % x) == 0){
prvocisla[indexP] = x, indexP++;
number /= x;
x = 2;
while (number % x != 0) x++;
if(number == x){
prvocisla[indexP] = number, indexP++;
goto ven;
}
}
}
}
ven:;
for(j = 0; j < indexP; j++){
printf("%d",prvocisla[j]);
if(ulozit)
fprintf(soubor,"%d",prvocisla[j]);
if((j+1) < indexP){
printf(" * ");
if(ulozit)
fprintf(soubor," * ");
}
}
printf(" \n\n\n ");
if(ulozit)
fclose(soubor);
system("pause");
}
Offline