• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

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

Эльвие

Ученик
Регистрация
7 Ноя 2011
Сообщения
1
Реакции
0
Баллы
0
Помогите решить задачи в Паскале, пожалуйста

Задача №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
 
Задача №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.
 
Задача №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.
 
Задача №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.
 
Назад
Сверху