текст задачи:"Дано числа X. Посчитать сумму всех его четных и всех нечетных делителей. Число X вводится с клавиатуры. Результат выводится на экран в удобном для восприятия виде." я знаю как ее решить но написать самм код не могу(( Алгоритм не трудный: 1. сначала ищем делители путем цикла for i:=1 to x do. и оператором x mod i=0... 2. потом загоняем все делители в массив. 3. потом в массиве ищем все четные и нечетные путем a mod 2 и загоняем в 2 подмассива.. 4. в каждом массиве складываем все числа и выводим на экран... Помогите это все оформить... и если есть более рацианальное решение, то предлагайте... =), заранее спасибо) говорит и показывает НОВОСИБ))))
BitRoW, Ну в принципе правильно мыслишь. Тока в массив загонять не обязательно. Конечно, сейчас Alexander набросится на меня, угрожающе размахивая книжкой по матанализу, но я все равно напишу это:
Code
If (Odd(X)) then EndPos := x div 3 else EndPos := x div 2; For i := 2 to EndPos do Begin If (X mod i = 0) then If (Odd(i)) then Inc(Nechet) else Inc(Chet); End;
Ну соответственно, Chet и Nechet - переменные целочисленного типа, в которых и будет результат. 1 за делитель не считаем. Вывод типа такого:
Конечно, сейчас Alexander набросится на меня, угрожающе размахивая книжкой по матанализу
С чего ты это взял? Тут я возьму книгу по ТЕОРИИ ЧИСЕЛ!!! Кстати тут нет простого алгоритма, быстрее чем этот. И ещё, в условии не сказано какие числа рассматривать. Если целые положительные, то нужно ещё 2 делителя учесть- единицу и сам икс, а если просто в целых- то нужно ещё и на 2 умножить, а также проверить не равен ли икс нулю. Скажем дружно- нафиг нужно!