Согласно topcoder Link, нам нужно вычислить до квадратного корня числа, чтобы перечислить все его основные факторы ... Теперь я могу доказать в следующем коде, что мы делаем правильно пока мы не будем в цикле for. Но я не могу понять, почему оставшееся число будет простым, то есть после того, как мы выйдем из цикла, если if (n> 1) printf («% d», n); это то, что беспокоит меня ..! Можете ли вы дать мне официальное доказательство наряду с примерами ....Требуется доказательство в части простой факторизации
void factor(int n)
{
int i;
for(i=2;i<=(int)sqrt(n);i++)
{
while(n % i == 0)
{
printf("%d ",i);
n /= i;
}
}
if (n > 1) printf("%d",n);
printf("\n");
}
Что именно представляет собой желаемый результат? Должен ли вывод быть 'n', если' n' является простым и пустым в противном случае? – Codor
Все основные факторы –
Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о математических доказательствах, а не о программировании. – Joe