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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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
Сообщений: 25,857
Репутация: 5617
По умолчанию

Цитата:
А вот как подсчитать количество чисел не знаю(((
Код:
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
Репутация: 10
По умолчанию

А почему когда я пишу вот так
Код:
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,815
Репутация: 6850
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


05:18.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.