Konchenko1980
?>

Напишите программу которая определяет верно ли что введенное число содержит по крайней мере две одинаковые цифры возможно не стоящие рядом

Информатика

Ответы

os2854
Выводит YES если есть, и NO если нету
На языке С++:

#include <bits/stdc++.h>
using namespace std;

string s;

int main ()
{
cin >> s;
for (int i = 0; i < s.size(); ++ i)
{
for (int j = i; j < s.size(); ++ j)
{
int a = s[i] - '0';
int b = s[j] - '0';
if (a == b)
{
cout << "YES";
return 0;
}
}
}
cout << "NO";
}
alf206
Для того, чтобы перевести целое число из десятичной в двоичную систему счисления, необходимо разделить его на два, а затем делить на два каждое полученное частное до тех пор, пока не получится единица. Искомое двоичное число записывается как последовательность цифр, равных последнему частному (единице) и всем полученным остаткам, начиная с последнего.

Надо перевести сначала 21 в двоичную, потом 2 в двоичную и потом 2002 в двоичную

Получается вот так:
21 = 10101
2=10
2002 = 11111010010

В итоге:
10101.10.11111010010
npprang21

procedure CalcArray (const Ax: array of Integer; var S: Integer; var M: Real);  // var в параметрах означает, что переменная используется для возврата значения

var

 i, c: Integer;

begin

 S := 0;

 c := 0;

 for i := 0 to High (Ax) do begin

   S := S + Ax [i];   // здесь накапливаем сумму элементов

   c := c + 1;

 end;

 M := S / c;   // когда найдена сумму, рассчитываем среднеарифметическое

end;

var

 A: array [0..4] of Integer;     // размерность массивов можно делать любой, но начинаться с 0

 B: array [0..14] of Integer;

 C: array [0..9] of Integer;

 i, s: Integer;

 m: Real;

begin

 SetConsoleCP (1251);

 SetConsoleOutputCP (1251);

 Randomize;   // инициализация датчика случайных чисел

 WriteLn ('Массив 1:');

 for i := Low (A) to High (A) do begin

   A [i] := Random (10);   // заполняем элементы массива случайными значениями

   Write (IntToStr (A [i]) + ' ');   // выводим их для вызов процедуры

 WriteLn;   // показываем возвращаемые из функции переменные

 WriteLn ('Сумма элементов = ' + IntToStr (s));

 WriteLn ('Среднеарифметическое = ' + FloatToStr (m));

 WriteLn;   // аналогично поступаем с другими массивами

 WriteLn ('Массив 2:');

 for i := Low (B) to High (B) do begin

   B [i] := Random (10);

   Write (IntToStr (B [i]) + ' ');

 end;

 CalcArray (B, s, m);

 WriteLn;

 WriteLn ('Сумма элементов = ' + IntToStr (s));

 WriteLn ('Среднеарифметическое = ' + FloatToStr (m));

 WriteLn;

 WriteLn ('Массив 3:');

 for i := Low (C) to High (C) do begin

   C [i] := Random (10);

   Write (IntToStr (C [i]) + ' ');

 end;

 CalcArray (C, s, m);

 WriteLn;

 WriteLn ('Сумма элементов = ' + IntToStr (s));

 WriteLn ('Среднеарифметическое = ' + FloatToStr (m));

end.

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

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

Напишите программу которая определяет верно ли что введенное число содержит по крайней мере две одинаковые цифры возможно не стоящие рядом
Ваше имя (никнейм)*
Email*
Комментарий*

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

anikamalish
спец387
bezzfamilny631
Mikhail579
gri-7410
makarov021106
irina25095462
Shishkinaanasta1997
kolyabelousow4059
vladimir72tatarkov1317
Dmitrii_Shamilevich2019
festjob
vikanikita
Остап-Лаврова1410
leeka152522