Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 07.11.2011, 22:58   #1 (permalink)
Эльвие
Новичок
 
Регистрация: 07.11.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Помогите решить задачи в Паскале, пожалуйста

Задача №1
Посчитать количество цифр целого неотрицательного числа N (0 <= N <= 2000000000).
Пример ввода
13243
Пример вывода
5
Задача №2
Назовем число "зеркально простым", если само число является простым, и простым является число, записанное теми же цифрами в обратном порядке.
На заданном промежутке [A, B] найти количество "зеркально простых" чисел.
Технические условия. Входные данные:
На входе 2 числа А и В ( 1 <= А, В <= 1000).
Выходные данные:
Единственное число – искомое количество "зеркально простых" чисел.
Пример ввода
10 25
Пример вывода
3

Задача №3. ЧАСЫ
Часы с боем пробивают каждый час такое количество ударов, сколько их есть на циферблате с цифрами от 1 до 12, и по одному разу тогда, когда минутная стрелка указывает на цифру 6. Зная начальное и конечное время в рамках одних календарных суток (выраженное в часах и минутах), подсчитать общее количество ударов на этом промежутке времени.
Технические условия. 0 <= H <= 23, 0 <= M <= 59
Пример ввода
13 30 15 10
Пример вывода
7
Эльвие вне форума   Ответить с цитированием

Старый 07.11.2011, 22:58
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Рекомендую вам ознакомиться с ответами в этих топиках

Помогите, пожалуйста, решить три задачи по Pascal
Помогите пожалуйста решить матрицу в паскале
Помогите решить четыре задачи в Паскале
Помогите пожалуйста решить задачи
Помогите решить две задачи в турбо паскале

Старый 08.11.2011, 12:08   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Эльвие Посмотреть сообщение
Задача №1 Посчитать количество цифр целого неотрицательного числа N (0 <= N <= 2000000000). Пример ввода 13243 Пример вывода 5
Код:
VAR
 N:LongInt;
BEGIN
 Write('N= ');
 Readln(N);
 If N=0 then
  Writeln('1')
 else
  Writeln(TRUNC(Ln(N)/Ln(10))+1);
 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.11.2011, 13:00   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Эльвие Посмотреть сообщение
Задача №3. ЧАСЫ Часы с боем пробивают каждый час такое количество ударов, сколько их есть на циферблате с цифрами от 1 до 12, и по одному разу тогда, когда минутная стрелка указывает на цифру 6. Зная начальное и конечное время в рамках одних календарных суток (выраженное в часах и минутах), подсчитать общее количество ударов на этом промежутке времени. Технические условия. 0 <= H <= 23, 0 <= M <= 59 Пример ввода 13 30 15 10 Пример вывода 7
Код:
VAR
 Hmin,Hmax,Mmin,Mmax,Gong,H:Byte;
 M:ShortInt;
BEGIN
 Writeln('Enter Hmin, Mmin, Hmax, Mmax');
 Readln(Hmin, Mmin, Hmax, Mmax);
 Gong:=0;
 If Mmin=0 then
  begin
   If Hmin>12 then Inc(Gong,Hmin-12) else Inc(Gong,Hmin);
   M:=0;
  end
 else
  M:=Mmin-1;
 H:=Hmin;
 Repeat
  Inc(M);
  If M=30 then Inc(Gong);
  If M=60 then
   begin
    Inc(H);
    If H>24 then Dec(H,24);
    If H>12 then Inc(Gong,H-12) else Inc(Gong,H);
    M:=0;
   end;
 Until (H=Hmax) and (M=Mmax);
 Writeln(Gong);
 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 08.11.2011, 14:38   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Эльвие Посмотреть сообщение
Задача №2 Назовем число "зеркально простым", если само число является простым, и простым является число, записанное теми же цифрами в обратном порядке. На заданном промежутке [A, B] найти количество "зеркально простых" чисел. Технические условия. Входные данные: На входе 2 числа А и В ( 1 <= А, В <= 1000). Выходные данные: Единственное число – искомое количество "зеркально простых" чисел. Пример ввода 10 25 Пример вывода 3
Код:
VAR
 A,B,i:LongInt;
 Num:Word;

Function Primzahl(Z:LongInt):Boolean;
var
 j:LongInt;
 b:boolean;
begin
 b:=true;
 j:=1;
 repeat
  Inc(j);
  if (Z mod j)=0 then b:=false;
 until (Not(b)) or (j=(Z div 2));
 Primzahl:=b;
end;

Function Inv(Z:LongInt):LongInt;
var
 S,S1:String;
 code:Integer;
 Z1:LongInt;
 j:Byte;
begin
 STR(Z,S);
 S1:=S;
 For j:=1 to Length(S) do
  S1[j]:=S[Length(S)-j+1];
 VAL(S1,Z1,Code);
 Inv:=Z1;
end;

BEGIN
 Writeln('Enter A, B');
 Readln(A, B);
 Num:=0;
 For i:=A to B do
  If (Primzahl(i)) and (Primzahl(Inv(i))) then Inc(Num);
 Writeln(Num);
 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


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

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




Часовой пояс GMT +4, время: 00:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.