Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Программа по определению всех делителей числа.

Автор: P!F!B! 23.05.2006 22:55

Код
    
Составить программу на Паскале, определяющую сумму всех делителей заданного с клавиатуры числа.

Автор: klem4 23.05.2006 22:59

...
readln(n);
s := 0;
for i := 2 to n div 2 do
if n mod i = 0 then inc(s, i);
...

Автор: lapp 24.05.2006 5:12

Цитата(P!F!B! @ 23.05.2006 19:55) *

... сумму всех делителей заданного с клавиатуры числа.

Условие поставлено нечетко..
klem4 абсолютно прав, если понимать условие буквально, но я все же хочу спросить автора темы: а не имелись ли в виду все простые множители? Если так, то решение будет другим..
Извиняюсь за вторжение - просто проверить на всякий случай..

Автор: P!F!B! 24.05.2006 21:18

Цитата(lapp @ 24.05.2006 1:12) *

Условие поставлено нечетко..
klem4 абсолютно прав, если понимать условие буквально, но я все же хочу спросить автора темы: а не имелись ли в виду все простые множители? Если так, то решение будет другим..
Извиняюсь за вторжение - просто проверить на всякий случай..


Нет, всё верно! Задано найти именно сумму всех делителей заданного с клавиатуры числа...

Автор: Гость 19.02.2007 1:02

Найти все целые числа из промежутка от 100 до 300,
у которых сумма делителей равна k(k вводить с клавивтуры)

Автор: мисс_граффити 19.02.2007 1:04

Ну и в чем проблема?
Нашел же старую тему, где практически все уже реализовано...

Автор: Sergey 19.02.2007 1:11

Цитата(мисс_граффити @ 18.02.2007 21:04) *

Ну и в чем проблема?
Нашел же старую тему, где практически все уже реализовано...

Написать программу на Pascal.

Добавлено через 8 мин.
Найти все целые числа из промежутка от 100 до 300,
у которых сумма делителей равна k(k вводить с клавивтуры
написать программу на Pascal

Автор: мисс_граффити 19.02.2007 1:38

ну напиши!
большая часть уже есть (см. сообщение #2). не можешь добавить один цикл?

Автор: Sergey 19.02.2007 1:55

Цитата(мисс_граффити @ 18.02.2007 21:38) *

ну напиши!
большая часть уже есть (см. сообщение #2). не можешь добавить один цикл?

program vibor;
Uses Crt;
var n, i, c: Integer;
Begin
clrscr;
for n := 100 to 300 do
begin
c := n;
for i := 1 to n div 2 do
if n mod i = 0 then
Inc(c, i);
WriteLn;
WriteLn©;
End;
end.


Правильно?

Автор: volvo 19.02.2007 1:57

Ты печатаешь ВСЕ числа, а надо - только те, у которых сумма делителей равна K ...