Пятница, 10.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

задача на делители
BitRoWДата: Вторник, 09.12.2008, 05:45 | Сообщение # 1
Знакомый
Группа: Пользователи
Сообщений: 11
Репутация: 0
Замечания: 0%
Статус: Offline
текст задачи:"Дано числа X. Посчитать сумму всех его четных и всех нечетных делителей. Число X вводится с клавиатуры. Результат выводится на экран в удобном для восприятия виде."
я знаю как ее решить но написать самм код не могу((
Алгоритм не трудный:
1. сначала ищем делители путем цикла for i:=1 to x do. и оператором x mod i=0...
2. потом загоняем все делители в массив.
3. потом в массиве ищем все четные и нечетные путем a mod 2 и загоняем в 2 подмассива..
4. в каждом массиве складываем все числа и выводим на экран...
Помогите это все оформить...
и если есть более рацианальное решение, то предлагайте... =), заранее спасибо)


говорит и показывает НОВОСИБ))))
 
SeqularДата: Среда, 10.12.2008, 06:42 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
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 за делитель не считаем.
Вывод типа такого:
Code
Четных делителей: ...
Нечетных делителей: ...

Сделаешь сам smile


Поддерживаю также проект сообщество молодых сисадминов
 
AlexanderДата: Суббота, 13.12.2008, 20:29 | Сообщение # 3
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote
Конечно, сейчас Alexander набросится на меня, угрожающе размахивая книжкой по матанализу

С чего ты это взял? Тут я возьму книгу по ТЕОРИИ ЧИСЕЛ!!!
Кстати тут нет простого алгоритма, быстрее чем этот.
И ещё, в условии не сказано какие числа рассматривать. Если целые положительные, то нужно ещё 2 делителя учесть- единицу и сам икс, а если просто в целых- то нужно ещё и на 2 умножить, а также проверить не равен ли икс нулю.


Скажем дружно- нафиг нужно!
 
SeqularДата: Суббота, 13.12.2008, 22:18 | Сообщение # 4
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Quote (Alexander)
Тут я возьму книгу по ТЕОРИИ ЧИСЕЛ!!!

Да! Точно! Книжки перепутал. Ты уже однажды угрожающе ей размахивал smile

А зачем на 2 умножать? Чтобы отрицательные посчитать?


Поддерживаю также проект сообщество молодых сисадминов
 
AlexanderДата: Суббота, 13.12.2008, 22:24 | Сообщение # 5
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote
А зачем на 2 умножать? Чтобы отрицательные посчитать?

да.


Скажем дружно- нафиг нужно!
 
BitRoWДата: Понедельник, 15.12.2008, 02:38 | Сообщение # 6
Знакомый
Группа: Пользователи
Сообщений: 11
Репутация: 0
Замечания: 0%
Статус: Offline
нужны целые положителбные числа... не больше... иначе бы это было уже слишком.... cool

говорит и показывает НОВОСИБ))))
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;