Как сделать число положительным через арифметические операции?

Есть отрицательное число, которое получается операцией (a — b)
Вопрос: как сделать его положительным? делал это через abc(), но в условиях задачи написано «Используйте ТОЛЬКО арифметические операторы.»
Заранее спасибо за помощь!
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как сделать так, чтобы арифметические операции проводились и над буквами
Как сделать так, чтобы арифметические операции проводились и над буквами? public string.
Как отрицательное число сделать положительным
КАК ОТРИЦАТЕЛЬНОЕ ЧИСЛО СДЕЛАТЬ ПОЛОЖИТЕЛЬНЫМ Желательно показать на примере))

Заданы 6 цифр и число. Используя скобки и бинарные арифметические операции +,-,*,/, получить заданное число
помогите написать программу на C#, как-нибудь отблагодарю Заданы 6 цифр и число. Используя.
Поместить число в РОН и выполнить арифметические операции
Здравствуйте, начали изучение Assembler , а именно асемблерные вставки в Delphi. Все делаем на.
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
1 2 3 4 5 6 7 8
>>> a = -4 >>> b = a if a > 0 else -a >>> b 4 >>> a = 4 >>> b = a if a > 0 else -a >>> b 4
Регистрация: 17.08.2013
Сообщений: 50
rublag,
Я же написал, что в условиях написано:
«Используйте ТОЛЬКО арифметические операторы»
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
theDimZone, если известно, что число отрицательное, то просто
b *= -1
Регистрация: 17.08.2013
Сообщений: 50
Сообщение от rublag 
b *= -1
Спасибо, а нет решения, если шанс есть что результат положительный?
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
возведение в квадрат, затем вычисление квадратного корня
(b**2)**0.5
Регистрация: 17.08.2013
Сообщений: 50
rublag, Большое спасибо.
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
Сообщение от rublag 
b *= -1
это проще делается
Потрясающая формулировка: «сделать число положительным». В математике числа — неизменяемые (immutable) объекты. Если число неположительно, оно пребывает таковым всю вечность. Нельзя изменить свойства числа. Можно преобразовать число и получить новое. В частности, можно преобразовать неположительное число так, что оно стало бы положительным. Например, всякое число преобразовывать в 1. Извините, надо же указывать, какие именно вам преобразования нужны.
| Меню пользователя @ helter |
![]()
4623 / 2043 / 361
Регистрация: 17.03.2012
Сообщений: 10,116
Записей в блоге: 6
Сообщение от theDimZone 
Есть отрицательное число, которое получается операцией (a — b)
Вопрос: как сделать его положительным?
Вот честно — ответ «никак». Если оно уже отрицательное, то, хоть тресни, будет отрицательным.
А если оно будет положительным — то уже не получится операцией a-b, потому что это противоречит условию.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Из последовательности цифр от 1 до 9 используя арифметические операции получить число 10958
Суть задачи описана в теме. Каждую цифру можно использовать только 1 раз, все цифры должны быть.
Используя скобки и бинарные арифметические операции +,-,*,/, получить заданное число
помогите написать программу на CommonLisp, как-нибудь отблагодарю Заданы 6 цифр и число.

Используя скобки и бинарные арифметические операции +,-,*,/, получить заданное число
помогите написать программу на F#, как-нибудь отблагодарю Заданы 6 цифр и число. Используя.
Класс для работы со строкой (хранение двоичного число и выполнение с ним арифметические операции)
создать полноценный класс, содержащий по возможности все его виды элементов: поля, конструкторы.
Представление строки, позволяющей хранить только двоичное число и выполнять с ним арифметические операции
Составить программу для представления строки, позволяющей хранить только двоичное число и выполнять.
Или воспользуйтесь поиском по форуму:
Как в функции преобразовать отрицательное число в положительное?
Нужно найти противоположное число, заданному. Например есть 1, нужно найти -1.
Я пробовал с negate(не получилось так как не знаю как правильно использовать), пробовал через if(но не понимаю какое условие мне написать). Мой код:
if number < 0 return number * -number
Задача с Codewars, начальные условия:
func opposite(number: Double) -> Double >
- Вопрос задан более трёх лет назад
- 1139 просмотров
Комментировать
Решения вопроса 1
не понял а чем number = -number плохо?
или number *= -1
Ответ написан более трёх лет назад
Нравится 1 3 комментария
Sir0zha @Sir0zha Автор вопроса
Ну в принципе, да) А тогда как это записать?
func opposite(number: Double) -> Double var number: Double = 1
return (number = -number)
>
func opposite(number: Double) -> Double
Как перевернуть знак?
В python, чтобы поменять знак какого-либо числа в переменной num , надо записать -num :
print(-a) # -5 print(-b) # 2
Как сделать положительное число?
Быстрый способ
Чтобы перевести любое число в ранг положительных, нужно написать abs(num) :
print(abs(a)) # 5 print(abs(b)) # 2
Почему этот способ самый быстрый?
Этот способ самый быстрый, т.к. здесь используется встроенная функция, написанная на быстром Си, и она будет быстрее любого другого способа с использованием других встроенных функций.
Математический способ
Это более медленный и длинный в написании способ. Для этой задачи не рекомендую его использовать.
Записать можно по-разному, но я приведу два различных способа:
print((a**2)**0.5) # 5 print((b**2)**0.5) # 2
from math import pow, sqrt print(sqrt(pow(a, 2))) # 5 print(sqrt(pow(b, 2))) # 2
Как это работает?
Чтобы получить модуль числа (то же число, только всегда положительное) число надо возвести в квадрат и извлечь квадратный корень.
В питоне можно по-разному записать эти операции, один способ — ** (возведение в степень), другой — воспользоваться встроенной библиотекой math .
Возведение в 2 степень — возведение в квадрат, а в 0.5 — эквивалентно извлечению квадратного корня.
Также для возведения в степень можно использовать функцию math.pow , а для извлечения квадратного корня — math.sqrt .
Вывод
Наш выбор для создания положительного числа — использовать функцию abs !
Соединяя инверсию знака с созданием положительного числа мы получаем следующее:
Чтобы перевести любое число num в ранг отрицательных, надо записать -abs(num)
print(-abs(a)) # -5 print(-abs(b)) # -2
Ремарки
- Для простоты понимания я опустил деталь, что при использования математического способа результат — float , а не int , и при выводе .0 добавляется к числу.
- Изначально в вопросе просилось сделать отрицательное число.
Встроенные функции Python 3 для работы с числами
Python 3 предоставляет большое количество встроенных функций, которые вы можете использовать в программах. Некоторые из них позволяют преобразовывать типы данных, другие предназначены только для одного типа данных (например, строк).
Данное руководство ознакомит с некоторыми встроенными функциями для работы с числовыми типами данных в Python 3:
- abs() – абсолютная величина.
- divmod() – частное и остаток от деления.
- pow() – возведение в степень.
- round() – округление десятичного числа.
- sum() – сумма членов изменяемой последовательности.
Все эти методы делают разработку программы более гибкой.
Абсолютная величина
Встроенная функция abs() возвращает абсолютную величину указанного числа. В математике абсолютная величина, или модуль числа – это неотрицательное число, выражающее расстояние от этого числа до нуля. Например, абсолютная величина 15 – это 15, а -75 – число 75. Абсолютная величина 0 равна 0.
Абсолютная величина – важный аспект вычислений и анализа.
Рассмотрим такой пример: вам нужно проехать 58 км, вместо этого вы проехали 93 км. Чтобы узнать, сколько км осталось, нужно вычесть из расстояния (58 км) количество километров, которое вы проехали (93 км). В данном случае в результате будет отрицательное число. Но проехать отрицательное количество километров невозможно. Попробуйте решить эту задачу с помощью abs():
km_from_origin = 58 # расстояние до пункта назначения
km_travelled = 93 # преодоленное расстояние (больше)
km_to_go = km_from_origin — km_travelled
print(km_to_go) # покажет, сколько км осталось (отрицательное число)
print(abs(km_to_go)) # выведет абсолютную величину отрицательного числа
-35
35
Без функции abs() в результате получится -35, отрицательное число. Функция abs() возвращает положительное число, так как абсолютная величина всегда представлена положительным числом или нулём.
Функция abs() используется в тех ситуациях, когда результат не может быть отрицательным числом.
Частное и остаток от деления
Деление floor (возвращает частное), и деление по модулю (возвращает остаток), тесно связаны между собой, потому функция, которая сочетает в себе обе эти операции, будет очень полезна.
Для этого Python предоставляет встроенную функцию divmod().
Функция divmod() работает с двумя значениями:
Она выполняет такие операции:
Предположим, вы написали книгу, которая состоит из 80000 слов. На одной странице можно разместить либо 300, либо 250 слов. Нужно посчитать, сколько страниц получится в первом и во втором варианте. Попробуйте сделать это с divmod():
words = 80000 # количество слов в книге
per_page_A = 300 # вариант А, 300 слов на странице
per_page_B = 250 # вариант B, 250 слов на странице
print(divmod(words,per_page_A))
print(divmod(words,per_page_B))
(266, 200)
(320, 0)
Если на каждой странице будет по 300 слов, в книге будет 266 страниц, и ещё одна страница будет заполнена на две трети (итого 267 страниц). Если на каждой странице будет по 250 слов, в книге будет ровно 320 страниц.
Функция divmod() может работать с целыми числами и с числами с плавающей точкой. Например:
a = 985.5
b = 115.25
print(divmod(a,b))
(8.0, 63.5)
Где 8.0 – частное, 63.5 – остаток.
Возведение в степень
В Python существует оператор ** для возведения числа в степень. Но также вы можете использовать встроенную функцию pow().
К примеру, вы исследуете бактерии, и вам нужно подсчитать, сколько бактерий будет в конце дня, если утром была одна бактерия, а количество бактерий в час увеличивается вдвое.
hours = 24
total_bacteria = pow(2,hours)
print(total_bacteria)
16777216
К примеру, в обычной математике 3 в кубе записывается так:
Это равно 3 x 3 x 3 (27).
Чтобы вычислить 3³ в Python, нужно записать это так:
Округление десятичного числа
При работе с десятичными числами важно иметь возможность быстро округлить его до N знаков после запятой. Строенная функция round() выполняет эту задачу. При этом ей необходимо два числа: A – число, которое нужно округлить, B – количество знаков после запятой.
i = 17.34989436516001
print(round(i,4))
17.3499
Попробуйте написать простую программу, которая будет подсчитывать чаевые. К примеру, три человека хотят разделить счет в ресторане в $87.93 и оставить 20% чаевых.
bill = 87.93 # общая сумма счёта
tip = 0.2 # 20% чаевых
split = 3 # количество человек
total = bill + (bill * tip)
each_pay = total / split # посчитает, сколько должен заплатить каждый
print(each_pay) # сумма без округления
print(round(each_pay,2)) # округлённая сумма
35.172000000000004
35.17
В результате получилось число с большим количеством десятичных знаков. Функция round() округлила его до двух знаков после запятой.
Чтобы округлить десятичное число до целого числа, задайте 0 в качестве второго параметра (в данном случае тип данных не преобразуется, после запятой будет 0):
Функция round() может работать и с целыми числами. Если в качестве первого параметра задано целое число, в результате функция также вернёт целое число.
Сумма членов
Функция sum() позволяет вычислить сумму членов составных числовых типов данных: списков, кортежей и словарей.
some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9] print(sum(some_floats))
49.5
Точно так же это работает с кортежами и словарями:
print(sum((8,16,64,512))) # сумма членов кортежа
print(sum()) # сумма членов словаря
600
-60
Функции sum() можно задать два аргумента. Второй аргумент – это число, которое нужно прибавить к сумме членов списка/кортежа/словаря. Например:
some_floats = [1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9] print(sum(some_floats, 0.5))
print(sum(,60))
50.0
0
Читайте также: