Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2013, 06:42   #1
InFlesh
 
Регистрация: 15.04.2013
Сообщений: 5
Вопрос Программа на Pascal

Помогите написать программу которая находит все четырехзначные числа у которых сумму крайних цифр равна суме средних, а само число делится на 6 и 27.
вот что получается у меня
Код:
var x,x1,x4,x5,x2,x3,x6:integer;
begin
x5:=6;
x6:=27;
for x:= 1000 to 9999 do begin
x1:=x mod 10;
x2:= x mod 100 div 10 ;
x3:= x div 100 mod 10;
x4:= x div 10   ;
if (x1+x4=x3+x4) and (x mod x5) and(x mod x6) then
writeln(x)
end;
end.

Последний раз редактировалось InFlesh; 28.04.2013 в 06:44.
InFlesh вне форума Ответить с цитированием
Старый 28.04.2013, 09:18   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

В чем проблема - мы должны догадываться самостоятельно?

Могу предположить, что дело в том, что Паскаль - не С и тщательнее проверяет соответствие типов - это раз. А два - появится после того, как будет исправлена первая ошибка.
s-andriano вне форума Ответить с цитированием
Старый 28.04.2013, 09:48   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
x4:= x div 10   ;
чтобы получить первую цифру 4-хзначного числа, нужно писать так:
Код:
x4 := x div 1000;
а чтобы проверить, что число делится без остатка (кратно) другом числу, нужно сравнивать остаток с нулём:
Код:
if (x1+x4=x3+x4) and (x mod x5 = 0) and(x mod x6 = 0) then
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.04.2013, 10:20   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
все четырехзначные числа у которых сумму крайних цифр равна суме средних, а само число делится на 6 и 27.
Код:
var a,b,c,d:byte;
 x:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do begin
x:=a*1000+b*100+c*10+d;
if (a+d=b+c)
and ( x mod 6=0)
and ( x mod 27=0)
then writeln(x);
end;
end.
Цитата:
1188
1458
1728
3186
3456
3726
5184
5454
5724
7182
7452
7722
9180
9450
9720
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 28.04.2013 в 10:23.
Mad_Cat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Pascal InFlesh Помощь студентам 4 15.04.2013 08:33
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа на Pascal 10Gramm Помощь студентам 2 16.11.2010 16:04
[PASCAL]Программа создания файла, программа обработки файла Виколяшка Фриланс 7 23.09.2009 17:38
Программа создания файла, программа обработки файла [PASCAL] Виколяшка Помощь студентам 1 22.09.2009 22:56