Занятие 2 |
Занятие 3 |
Занятие 4 |
Занятие 5 |
Занятие 6 |
Занятие 7 |
Занятие 8 |
Занятие 9 |
Занятие 10 |
Занятие 11 |
Занятие 12 |
Занятие 13 |
Занятие 14 |
Занятие 15 |
Занятие 16 |
Занятие 17 |
Занятие 18 |
Занятие 19 |
Занятие 20 |
int n; // число, которое нужно разложить на множители int divs[100]; // делители int ndivs; // количество делителей ndivs=0; for(int i=1; i*i<=n; ++i) { if(n%i==0) divs[ndivs++]=i; } int k=ndivs-1; if(divs[k]*divs[k]==n) k--; for(;k>=0; --k) divs[ndivs++]=n/divs[k];Разложение на простые множители
int n; // число, которое нужно разложить на множители int divs[100]; // простые множители int ndivs; // количество множителей ndivs=0; for(int i=2; i*i<=n; ++i) { while(n%i==0) { divs[ndivs++]=i; n/=i; } } if(n>1) divs[ndivs++]=n;