Показать сообщение отдельно
Старый 25.02.2012, 18:37   #1 (permalink)
Kazelina
Новичок
 
Регистрация: 25.02.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите разобраться

Я только начала разбираться в программировании. Так что не судите строго. Дана такая задача.
Дано натуральное число N. Необходимо разложить его на простые множители.
Формат входных данных
Во входном файле записано число N (2 \le N \le 100000).
Формат выходных данных
В выходной файл выведите искомые простые множители в порядке возрастания.
Примеры:
Вход
12
Выход
2 2 3
Вход
1030
Выход
2 5 103
Вот мое решение. Я уверена, что здесь есть недочеты. Помогите исправить.
var
m, n, i :integer;
f,g:text;
Begin
assign(f,'input.txt');
assign(g,'output.txt');
reset(f);
rewrite(g);
readln(f,n);
i:=2;
m:=n;
while(i<=n) do begin
if m mod i = 0 then begin
write(g,i);
m:=m div i;
end
else
inc(i);
end;
close(f);
close(g);
End.
Kazelina вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070