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*
Комментарий*

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

Femida76
Константиновна
proea
Александрович Владимирович
many858
Larisa-Andrei
irina25095462
vnolenev
suturinavaleriya51
irinaastapova2011
mariya
s9152992722344
Larisaodinets5
kulttrop
grenysherg2873