Добро пожаловать на форумы Боевого Народа (бывший форум Live.CNews.ru)!

ВАЖНЫЕ ТЕМЫ: FAQ по переезду и восстановлению учеток | Ошибки и глюки форума.
О проблемах с учетными записями писать СЮДА.
Помогите написать пару лёгких программ. - Форумы Боевого Народа
IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Помогите написать пару лёгких программ., не понимаю в этом ничего...
сообщение 14.3.2010, 11:38
Сообщение #1





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



1) Дано натуральное число:
а)найти количество чётных цифр данного числа
б)верно ли, что данная цифра А встречается в числе более двух раз (А вводить с клавиатуры)
2) найти Все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27
3)Найти количество различных цифр данного натурального числа.

Я гуманитарий и это не по моим мозгам...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
сообщение 19.3.2010, 13:13
Сообщение #2





Группа:
Сообщений: 0
Регистрация: --
Пользователь №:



1. Натуральное - это целое от 0 до бесконечности, условно в программирование это называется без знаковое(потому что (-) нет ) целое, он же для паскаля тип word

var nat: Word;

1.1. Нахождение четных цифр обычно делают двумя методами.
1.1.1. Первый метод - делить на 10, смотреть вещественную часть (это то что после точки)
1.1.2. Второй метод - преобразовать в строку, а дальше смотреть каждый символ (т.к. строка это массив символов, то нам это очень удобно)

Далее каждое число проверять четное оно или нет. Четное число не имеет остатка от деления на 2.
например 5 mod 2 = 1, 4 mod 2 = 0
1.2. Встречается ли цифра более двух раз.
пробегаемся по массиву из пункта 1.1.2 и сравниваем каждый элемент с А, если правильно, то увеличиваем счетчик (который заранее создаем и присваиваем онному 0)
2. На сообразительность сначала нам надо посмотреть на что делится само число. Ага на 27.
Если так то наши числа, это нечто такое x*27 где х - целое, при том, что 9999>х*27 >1000. потому что четырех значное.
При этом же (х) - просто обязан делится на два, так как есть второе условие, что наше число х*27 должно быть кратно 6.
А 6 это 2*3. То, что число х*27 ну по любому будет кратно 3 думаю, что ясно(27 = 3*3*3), а вот от куда взять кратность двум - тоже вроде ясно, уже из х.
Так что диапазон чисел устанавливается просто:
minX := 1000 div 27
if minX*27 <1000 then: inc(minX)
maxX :=9999 div 27
Дальше зная диапазон (х) (40-370) можем вытащить все кратные двум
for x ....
if x mod 2 = 0 then

А дальше все забавно каждый Х*27 преобразовываем в строку
берем 1 и 4 элемент строки преобразовываем в их в целое и суммируем, так же поступаем с 3 и 4
Сравниваем между собой суммы и если подходит, выводим на экран.
3. Таки да, все просто должно быть
Опять же таки преобразуем целое в строку.
Дальше вроде просто - попробуй подумать. В случае даю подсказку:
http://en.wikibooks.org/wiki/Pascal_Programming/Arrays

P.S.: Почему не написал полностью код? Потому что не хочу делать врачей которые на знаю как лечить. А калечить я и сам умею. Порой нужно дать подсказку.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.4.2024, 18:34
Консультации адвоката по уголовным делам. Бесплатно. По всей России