pravovoimeridian
?>

Да ну трёх значные числа. напишите программу, который определяет: а) есть ли среди цифр заданного целого трёх значного числа одинаковый 123 нет 121 да 222 да б) является ли число перевертышем то есть число десятичной записи которые читаются одинаково слева направо и справа налево 122 нет 121 перевертыш 222 перевертыш

Информатика

Ответы

cheberyako2013
1.
var a,c:integer; m:set of 0..9; b:boolean;
begin
readln(a);
m:=[];
b:=false;
while a>0 do
 begin
 c:=a mod 10;
 if c in m then b:=true;
 m:=m+[c];
 a:=a div 10;
 end;
if b then writeln('Да')
else writeln('Нет');
end.

Пример:
121
Да

2.
var a,b,c:integer;
begin
readln(a);
c:=a;
b:=0;
while c>0 do
 begin
 b:=b*10+c mod 10;
 c:=c div 10;
 end;
if a=b then writeln('перевертыш')
else writeln('Нет');
end.

Пример:
121
перевертыш
alekbur
\phi=\begin {cases} arctg( \frac{y}{x}), \ x0 \\ arctg( \frac{y}{x})+\pi, \ x<0,y \geq 0 \\ arctg( \frac{y}{x})-\pi, \ x<0,y<0 \\ \frac{\pi}{2}, \ x=0,y0 \\ -\frac{\pi}{2}, \ x=0,y<0 \\ 0, \ x=0,y=0 \end {cases}

procedure Polar(x, y: real; var r, f: real);
begin
  r := sqrt(sqr(x) + sqr(y));
  if x = 0 then
    if y = 0 then f := 0
    else
    if y > 0 then f := Pi / 2 else f := -Pi / 2
  else begin
    f := arctan(y / x);
    if x < 0 then
      if y >= 0 then f := f + Pi else f := f - Pi
  end
end;

{ тестовое решение }
var
  R, Fi: real;

begin
  Polar(1, 1, R, Fi);
  Writeln('(+1;+1) -> (', R, ';', Fi, ')');
  Polar(1, -1, R, Fi);
  Writeln('(+1;-1) -> (', R, ';', Fi, ')');
  Polar(-1, 1, R, Fi);
  Writeln('(-1;+1) -> (', R, ';', Fi, ')');
  Polar(-1, -1, R, Fi);
  Writeln('(-1;-1) -> (', R, ';', Fi, ')');
  Polar(0, 1, R, Fi);
  Writeln('(0;+1)  -> (', R, ';', Fi, ')');
  Polar(0, -1, R, Fi);
  Writeln('(0;-1)  -> (', R, ';', Fi, ')');
  Polar(0, 0, R, Fi);
  Writeln('(0;0)   -> (', R, ';', Fi, ')');
end.

Тестовое решение:

(+1;+1) -> (1.4142135623731;0.785398163397448)
(+1;-1) -> (1.4142135623731;-0.785398163397448)
(-1;+1) -> (1.4142135623731;2.35619449019234)
(-1;-1) -> (1.4142135623731;-2.35619449019234)
(0;+1)  -> (1;1.5707963267949)
(0;-1)  -> (1;-1.5707963267949)
(0;0)   -> (0;0)
akustov55
Для перевода нужно умножить содержимое каждого разряда на его "вес" и результаты сложить.
Начнём с первого разряда, в числе он расположен справа, и его "вес" равен 2 в нулевой степени ( 2^0 = 1 ) и далее будем двигаться к старшему разряду:

1*2^0 +0*2^1 +1*2^2 +0*2^3 +1*2^4 +0*2^5 +1*2^6 +0*2^7 +1*2^8 =
1*1 +0*2 +1*4 +0*8 +1*16 +0*32 +1*64 +0*128 +1*256 =
1 + 4 + 16 + 64 + 256 = 341

(здесь приведён полный расчёт, брались даже разряды в которых находятся нули; на практике разряды с нулями конечно можно не брать в расчёт, но при этом не перепутайте "вес" разрядов- он зависит от номера конкретного разряда).

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Да ну трёх значные числа. напишите программу, который определяет: а) есть ли среди цифр заданного целого трёх значного числа одинаковый 123 нет 121 да 222 да б) является ли число перевертышем то есть число десятичной записи которые читаются одинаково слева направо и справа налево 122 нет 121 перевертыш 222 перевертыш
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

zakaz6354
Попова1271
pk199888
maxchuev
koxhulya61
Vuka91
Igorevich1512
zakupki
Kochinev4
Anatolii
vinokurova88251
predatorfishing608
Баранов955
Владимирович
pravovoimeridian