Андрееевич787
?>

Написать программу, которая определяет числу, введенному с клавиатуры его абсолютную величину (модуль) не используя команду abs(x (Например: вводят число "-9", программа выдает "9", или вводят "2" и выводится "2.").

Информатика

Ответы

dvbbdv4

C++

#include <iostream>

using namespace std;

int main()

{

int number = 1;

cout << "Input number - ";

cin >> number;

cout << endl;

int abs = 0;

number < 0 ? abs = -number : abs = number;

cout << "Abs(" << abs << ")" << endl;

return 0;

}

Объяснение:

ann328389
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var a:=ArrRandom(100,-10,10);
  a.Println;
  Writeln(a.Where(x->x>0).Count,' положительных, ',
    a.Where(x->x<0).Count,' отрицательных')
end.

Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
Volkov
1. Установим допустимые сочетания двух последних битов (битов четности).
Если в N было четное количество единиц, то дописывается ноль. Поскольку ноль не меняет количества единиц, второй бит четности тоже будет нулевым. Правило №1: Если в двоичном представлении четное количество единиц, то дописывается 00.
Если в N было нечетное количество единиц, то дописывается единица. Это меняет количество единиц на четное, поэтому второй бит четности будет нулевым. Правило №2: Если в двоичном представлении нечетное количество единиц, то дописывается 10.

Первое число R, большее 180, это 181. Переведем его в двоичную систему счисления.
181₁₀ = 10110101₂
Мы видим, что оба наших правила нарушены, т.е. число 181 не подходит в качестве R.
Представление N (101101) содержит четное количество единиц, а для четного количества действует Правило №1 и мы должны записать 00, что уменьшит наше минимально возможное число R=181₁₀
Но если мы в числе N поменяем местами два правых бита, получим число 101110, которое больше чем 101101 и теперь по все тому же Правилу №1 мы получаем право приписать два нолика и получить R=10111000₂ = 184₁₀

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

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

Написать программу, которая определяет числу, введенному с клавиатуры его абсолютную величину (модуль) не используя команду abs(x (Например: вводят число "-9", программа выдает "9", или вводят "2" и выводится "2.").
Ваше имя (никнейм)*
Email*
Комментарий*

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

Kochinev7
Panei
tanyashevvvv
Inozemtseva Korolev1271
Елена_Зайкин1665
fednik3337923
NIKOLAI
bereza81
nat5555
nnbeyo
sav4ukoxana7149
Posadskii-Sergeevna
verkop9
Джулия
Ольга тимур