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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: "Элементарно!" - это не название для темы! Тема должна отражать суть задачи/проблемы.\nВ следующий раз тема с подобным названием будет закрыта или удалена!
Старый 06.02.2012, 13:56   #1
vitaaly
 
Регистрация: 02.02.2011
Сообщений: 4
Сообщение Программа, которая выводит на экран все четырехзначные числа, сумма цифр которых равна 7

help!
Нужно составить в паскале программу, которая выводит на экран все четырехзначные числа, сумма цифр которых равна 7 ???
vitaaly вне форума Ответить с цитированием
Старый 06.02.2012, 14:12   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Код:
program seven
var i,j:integer;
s:string;
begin
for i:=1000 to 9999 do
begin
sum = 0;
s := IntToStr(i);
for j:=1 to 4 do
sum = sum+s[j];
if sum=7 then
writeln(inttostr(i));
end;
end.
Как то так вроде
end;
danekne вне форума Ответить с цитированием
Старый 06.02.2012, 15:24   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

нет, не так. коды символов цифр НЕ РАВНЫ самим цифрам.
я уже молчу о том, что это решение использует функцию IntToStr, которой в стандартном Паскале нет


думаю, что предполагалось такое решение:
Код:
var i, N, SumN, OneDigit : integer;
begin
  for i:=1000 to 9999 do
  begin
    SumN := 0;
    N := i;
    { суммуруем число N по цифрам (в обратном порядке) }
    repeat
      OneDigit := N mod 10;
      N := N div 10;
      SumN := SumN + OneDigit;
    until N = 0;
    if (SumN=7) then WriteLn(i);
    Readln
end.
p.s. очевидно, что черёхзначных чисел с суммой цифр равно 7 больших, чем 7000 нет и быть не может,
поэтому цикл в данном случае можно "крутить" от 1000 до 7000...

Последний раз редактировалось Serge_Bliznykov; 06.02.2012 в 15:27.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2012, 15:46   #4
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

тут цикл можно крутить от 1006 до 7000 с шагом 9 программа будет в 9 раз быстрее работать)))
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти все четырехзначные числа, в которых ровно две одинаковые цифры (турбо паскаль) SkuLLL Помощь студентам 5 23.01.2012 19:23
Нужна программа, которая выводит на экран часы! gylayko Помощь студентам 4 02.12.2011 11:08
определить все двузначные числа сумма квадратов цифр которых кратна числу 15 [Pascal] mrRastom Помощь студентам 5 16.12.2010 09:47
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m Sparky Помощь студентам 2 22.11.2009 21:59
программа, которая выводит на экран одно из данных слов vados Паскаль, Turbo Pascal, PascalABC.NET 11 26.10.2007 23:47