На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
нужна помощь в создании программы
3631
14
Уважаемые програмисты, у меня возникла такого рода проблема, мне задали домашнее задание по информатике, а я не совсем понял тему. Суть в то что мне нужно сделать программу, которая при вводе числа с клавиатуры(целого числа) считает сумму его чётных делителей и сумму его нечётных делителей, причём сделать это надо чере цикл for. Может быть вы посмотрите и посоветуете(подскажите) как мне её доделать. Я сам уже кое-что сделал а дальше тупик. (Программа находится в прикреплённом файле внутри архива zex.zip) 

Паскаль забыл, вот на 1С.
Процедура Сформировать()
Делитель = ИсходноеЧисло;
Если Делитель = 0 Тогда
Сообщить("На ноль делить нельзя!");
Возврат
КонецЕсли;
СуммаЧетных = 0;
СуммаНечетных = 0;
СчетчикЦикла = 0;
Для СчетчикЦикла = 1 По Число(Делитель) Цикл
Остаток = ИсходноеЧисло/Делитель;
Если (Остаток - Окр(Остаток,0,0)) = 0 Тогда
Если ((Делитель/2) - Окр(Делитель/2,0,0)) = 0 Тогда
СуммаЧетных = СуммаЧетных + Делитель;
Иначе
СуммаНечетных = СуммаНечетных + Делитель;
КонецЕсли;
КонецЕсли;
Делитель = Делитель - 1;
КонецЦикла;
Сообщить("СуммаНечетных "+Строка(СуммаНечетных)+" "+"СуммаЧетных "+Строка(СуммаЧетных));
КонецПроцедуры
Процедура Сформировать()
Делитель = ИсходноеЧисло;
Если Делитель = 0 Тогда
Сообщить("На ноль делить нельзя!");
Возврат
КонецЕсли;
СуммаЧетных = 0;
СуммаНечетных = 0;
СчетчикЦикла = 0;
Для СчетчикЦикла = 1 По Число(Делитель) Цикл
Остаток = ИсходноеЧисло/Делитель;
Если (Остаток - Окр(Остаток,0,0)) = 0 Тогда
Если ((Делитель/2) - Окр(Делитель/2,0,0)) = 0 Тогда
СуммаЧетных = СуммаЧетных + Делитель;
Иначе
СуммаНечетных = СуммаНечетных + Делитель;
КонецЕсли;
КонецЕсли;
Делитель = Делитель - 1;
КонецЦикла;
Сообщить("СуммаНечетных "+Строка(СуммаНечетных)+" "+"СуммаЧетных "+Строка(СуммаЧетных));
КонецПроцедуры
var i, s1, s2: integer;
value: integer;
s1 := 0; s2 := 0;
for i := 1 to value div 2 do
if (value mod i) = 0 then
if (i mod 2) = 0 then s1 := s1+i
else s2 := s2+i;
value: integer;
s1 := 0; s2 := 0;
for i := 1 to value div 2 do
if (value mod i) = 0 then
if (i mod 2) = 0 then s1 := s1+i
else s2 := s2+i;
На C еще короче
int i,num=20,s1=0,s2=0;
for (i = 1; i

int i,num=20,s1=0,s2=0;
for (i = 1; i
Mad_Dollar
guru
с точки зрения читабельности перл еще страшнее )))
mx
veteran
кошмарный языкЛюбители if всегда могут воспользоваться if'ом. Вы еще на лисп посмотрите как-нибудь

Сейчас читают
Сутьба !?!? (часть 2)
403528
1000
НОВОГОДНИЙ ТОПИК (часть 2)
125242
459
Кому вы будете нужны после смерти?
35068
123
tpi
guru
кошмарный языкНоманый язык, просто оформлено так...![]()
;)
int i, count = 20;
int even = 0, odd = 0;
for(i = 1; i <= count / 2; i++){
if(count % i == 0)
if(i % 2) even += i;
else odd += i;
}
EvilX
activist
Можно ещё на питоне.
[code]
#!/usr/bin/python
x = int(raw_input("Input x: "))
even, odd = 0, 0
i = 1
while i
[code]
#!/usr/bin/python
x = int(raw_input("Input x: "))
even, odd = 0, 0
i = 1
while i
Ну, раз такой расколбас пошел
C# (.NET):
Ожидаем солюшены на астме и брейнфаке

using System;
namespace AmountDividers
{
class Program
{
static void Main()
{
int Count = 0;
int Odd = 0;
int Even = 0;
try
{
Console.WriteLine("Please enter a whole number:");
Count = int.Parse(Console.ReadLine());
for(int i = 1; i <= Count / 2; i++)
{
if(Count % i == 0)
{
if ((i%2) != 0)
{
Even += i;
}
else
{
Odd += i;
}
}
}
Console.WriteLine(string.Format("Amount of even dividers: {0}", Even));
Console.WriteLine(string.Format("Amount of odd dividers: {0}", Odd));
}
catch (FormatException e){
Console.WriteLine(e.Message);
}
}
}
}
Ожидаем солюшены на астме и брейнфаке

Люди, плизз напишите мне эту программу на языке турбо паскаль. Мне срочно надо, у меня незачёт открытый. Кто забыл напоминаю, что мне нужна программа, которая при вводе целого числа с клавиатуры выводит сумму его чётных и сумму его нечётных делителей, причём делается она с использованием цикла(желательно for). Заранее вам спасибо, просто я не совсем понял тему. 

Тебе ж на чистом паскале написал человек.
Как считать число с клавиатуры и вывести результат не знаешь, чтоли? И begin с end'ом не знаешь куда дописать?
Паскаля под рукой нет чтобы отладить, так что если где-то точку с запятой не поставили, постарайся уж сам.
var i, s1, s2: integer;
value: integer;
s1 := 0; s2 := 0;
for i := 1 to value div 2 do
if (value mod i) = 0 then
if (i mod 2) = 0 then s1 := s1+i
else s2 := s2+i;
Как считать число с клавиатуры и вывести результат не знаешь, чтоли? И begin с end'ом не знаешь куда дописать?
var i, s1, s2: integer;
value: integer;
begin
s1 := 0; s2 := 0;
write('Введи число: '); readln(value);
for i := 1 to value div 2 do
if (value mod i) = 0 then
if (i mod 2) = 0 then s1 := s1+i
else s2 := s2+i;
writeln('Сумма четных делителей: ', s1, ' Сумма нечетных делителей: ', s2);
end.
Паскаля под рукой нет чтобы отладить, так что если где-то точку с запятой не поставили, постарайся уж сам.
Прогнал на Free Pascal и отформатировал.
program main;
var
i, even, odd: integer;
count: integer;
begin
even := 0;
odd := 0;
write('Введи число: ');
readln(count);
for i := 1 to count div 2 do
if (count mod i) = 0 then
if (i mod 2) = 0 then even := even + i
else odd := odd + i;
writeln('Сумма четных делителей: ', even, ' Сумма нечетных делителей: ', odd)
end.