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

 

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

Можете помочь задачу решить?
PNDДата: Суббота, 05.01.2008, 22:27 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 2
Репутация: 0
Замечания: 0%
Статус: Offline
Ребята, помогите мне пожалуйста решить задачу в паскале, а то вот у самого не получается....условие такое:
"Написать программу, находящую все натуральные числа из заданного промежутка [a;b]; которые делятся на сумму всех своих цифр"


=- Запретные плоды оказались сухофруктами -=
 
SeqularДата: Воскресенье, 06.01.2008, 10:25 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
PND, Итак, думаю, что нужно пологать, что a - число минимум двузначное, так как любое однозначное число делится на сумму своих цифр (кроме 0). =)

Первый вариант (тупо перебор):
1) Пробегаем по всем числам от a до b.
2) Посылаем текущий индекс в функцию посчета суммы цифр.
3) Если число, при этом делится без остатка на сумму - выводим на экран

Реализуем:

Code
Program SummAllNums;
Uses CRT;
Var a, b, i: Word;

Function GetSumm(x: Word): Word;
Var Summ: Word;
Begin
Summ := 0;
While (x > 0) do
       Begin
       Summ := Summ + x mod 10;
       x := x div 10;
       End;
GetSumm := Summ;
End;

Begin
ClrScr;
Write('Введите предел [a]: '); Readln(a);
Write('Введите предел [b]: '); Readln(b);
For i := a to b do
     Begin
     If (i mod GetSumm(i) = 0) then Writeln(i);
     End;
ReadKey;
End.

Неоптимально кое-где, и нет проверки на вводе, чтобы не вписывали отрицательные. Так как условие подразумевает натуральные числа.. Вот. Вроде работает как надо.

Проверка:

Quote

Введите предел [a]: 10
Введите предел [b]: 20
10
12
18
20

10 делится на 1
12 делится на 3
18 делится на 9
20 делится на 2
Все? smile


Поддерживаю также проект сообщество молодых сисадминов
 
PNDДата: Понедельник, 07.01.2008, 01:30 | Сообщение # 3
Новичок
Группа: Пользователи
Сообщений: 2
Репутация: 0
Замечания: 0%
Статус: Offline
Quote (Seqular)
Неоптимально кое-где, и нет проверки на вводе

с остальным я уже разберусь biggrin

очень признателен тебе, Seqular, выручил ты меня, большое спасибо up


=- Запретные плоды оказались сухофруктами -=
 
  • Страница 1 из 1
  • 1
Поиск:

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