denbelousov963
?>

На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит проверить, правильно ли в данной последовательности расставлены круглые скобки (то есть, справа от каждой открывающей есть соответствующая закрывающая, а слева от каждой закрывающей есть соответствующая открывающая).

Информатика

Ответы

slonikkristi69
Var s:string; k,i:integer; b:boolean;
begin
writeln('s = ');
readln(s);
k:=0; i:=1;
b:=true;
while s[i]<>'.' do
 begin
 case s[i] of
  '(' : k:=k+1;
  ')' : k:=k-1;
 end;
 if k<0 then b:=false;
 i:=i+1;
 end;
if b and (k=0) then writeln('Все ОК') else writeln('Есть ошибки');
end.

Пример:
s = ((a+b)/(2b-3a))(a/b).
Все ОК
ПаничерскийЕлена
Четырехзначное число в расширенной записи имеет вид
1000a+100b+10c+d
Известно, что первая и последняя цифры одинаковы, отсюда d=a.
Сумма цифр числа равна 16, т.е. 2a+b+c=16  (1)
Если число делится на 2, то оно четное, следовательно "a" может равняться
2, 4, 6, 8.      (2)
Нулю оно равняться не может, поскольку тогда число станет трехзначным.
Если четырехзначное число делится на 11, то модуль разности между суммами цифр, стоящих на четных и нечетных местах должна делиться на 11, т.е. |(a+c)-(a+b)|= |(c-b| делится на 11. Но разность двух однозначных чисел не может превышать 9, поэтому если она делится на 11, то она должна быть равна нулю. Но тогда с=b и число имеет вид
1000a+100b+10b+a.
А уравнение (1) будет выглядеть как
2a+b+b=16; 2a+2b=16; b=8-a  (3)
C учетом (2) можно из (3) получить 4 решения:
a=2, b=6
a=4, b=4
a=6, b=2
a=8, b=0
И это породит 4 возможных кода: 2662, 4444, 6226, 8008.
orinvarostov
#include <iostream>
using namespace std;

bool isMultiple(int n, int m);

int main() {
    setlocale(LC_ALL,"Russian");
    int x, p;
    cout << "x = ";
    cin >> x;
    cout << "p = ";
    cin >> p;
    int check[3] = { 2, 3, p },
        l = sizeof(check)/sizeof(*check);
    for(size_t i = 0; i < l; ++i) {
        if ( isMultiple(x, check[i]) ) {
           cout << "x кратное " << check[i] << '\n';
        }
        else {
            cout << "x не кратное " << check[i] << '\n';
        }
    }
    return 0;
}

bool isMultiple(int n, int m) {
    if (n % m == 0) {
        return true;
    }
    else {
        return false;
    }
}

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

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

На вход программе подаётся последовательность символов, заканчивающаяся точкой (точка – признак конца и в последовательность не входит проверить, правильно ли в данной последовательности расставлены круглые скобки (то есть, справа от каждой открывающей есть соответствующая закрывающая, а слева от каждой закрывающей есть соответствующая открывающая).
Ваше имя (никнейм)*
Email*
Комментарий*

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

Екатерина
nadejdashin508
yurazharov
ЮлияДаниил520
ainud
Veselova
Федоровна-Васильева
Semenova
Tatgri
minasov19
Daletskaya982
keldastrand
stasyan
Jannadon77
Belik-elena20111