Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 02.04.2015, 19:28   #1
Natalya96
Новичок
Джуниор
 
Регистрация: 02.04.2015
Сообщений: 2
По умолчанию Помогите,пожалуйста. Не знаю как сделать посчет цифр

1. Вывести все четырехзначные числа на отрезке [a, b], сумма двух первых цифр которого равна произведению двух последних. Подсчитать количество таких чисел.

программу написала:
Код:
var i,n: integer;
    a, b: 1000..9999;
begin 
readln (a,b);
for i:=a to b do 
if ((i div 1000)+(i div 100 mod 10))=((i div 10 mod 10) * (i mod 10)) then write ((i):5);
end.
А вот как подсчитать количество чисел не знаю(((

Последний раз редактировалось Serge_Bliznykov; 02.04.2015 в 19:39.
Natalya96 вне форума Ответить с цитированием
Старый 02.04.2015, 19:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
А вот как подсчитать количество чисел не знаю(((
Код:
var i: integer;
    a, b: 1000..9999;
    Count : integer;
begin 
  readln (a,b);
  Count := 0; {обнулим счётчик}
  for i:=a to b do 
   if ((i div 1000)+(i div 100 mod 10))=((i div 10 mod 10) * (i mod 10)) 
     then  {если нашли подходящее число, тогда }
      begin 
          write ((i):5); {выведем найденное число}
          Inc(Count); {увеличим счётчик на единицу, эквивалент Count := Count + 1;}
      end;
   WriteLn(' kolichestvo = ', Count);
end.

у вас была описана переменная n - можно было использовать не переменную Count, которую я описал, а вашу переменную n

Последний раз редактировалось Serge_Bliznykov; 02.04.2015 в 19:48.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.04.2015, 19:56   #3
Natalya96
Новичок
Джуниор
 
Регистрация: 02.04.2015
Сообщений: 2
По умолчанию

А почему когда я пишу вот так
Код:
var i,n: integer;
    a, b: 1000..9999;
    
begin 
  readln (a,b);
  n:= 0; 
  for i:=a to b do 
   if ((i div 1000)+(i div 100 mod 10))=((i div 10 mod 10) * (i mod 10)) 
     then  
      begin 
          write ((i):5); 
         n:= n+1; 
      end;
   WriteLn(n);
end.
у меня не выходит количество n?

все я сделала, все выводит только я не замечаю

Последний раз редактировалось Stilet; 02.04.2015 в 20:29.
Natalya96 вне форума Ответить с цитированием
Старый 02.04.2015, 20:29   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Перед end. ставь readln чтоб задержать консоль до нажатия энтера.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста написать программу с методом пузырька и массивами,я даже не знаю как ее сделать.. Bojikodab991 Помощь студентам 4 15.11.2013 09:36
Не знаю как решить задачку на строки в java, помогите пожалуйста. Taisja Помощь студентам 1 01.04.2009 18:07


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS