Что значит округлить до ближайшего целого числа кратного 10
Округлить указанное число до ближайшего кратного 10 | Set-2
Примеры:
Input: str = “99999999999999993”
Output: 99999999999999990
Input: str = “99999999999999996”
Output: 100000000000000000
Ниже приведена реализация вышеуказанного подхода:
// C ++ реализация подхода
#include
using namespace std;
// Функция для округления заданного числа
// с точностью до кратного 10
void roundToNearest(string str, int n)
// Если последняя цифра меньше или равна 5
// тогда его можно округлить до ближайшего
// (предыдущий) кратный 10, просто заменив
// последняя цифра с 0
// Устанавливаем последнюю цифру в 0
// Распечатать обновленный номер
// Число должно быть округлено до
// следующий кратный 10
// Для хранения переноски
// Заменить последнюю цифру на 0
// Начиная со второй последней цифры, добавляем 1
// до цифр, пока есть перенос
// Пока есть цифры для рассмотрения
// и есть возможность добавить
while (i >= 0 && carry == 1) <
// Получить текущую цифру
// Если цифра превышает 9, то
// будет сгенерирован перенос
if (currentDigit > 9) <
// иначе не будет переноса
// Обновляем текущую цифру
str[i] = ( char )(currentDigit + ‘0’ );
// Получить предыдущую цифру
// Если перенос по-прежнему равен 1, то он должен быть
// вставляем в начало строки
// Распечатать остаток номера
string str = «99999999999999993» ;
// Java реализация подхода
// Функция для округления заданного числа
// с точностью до кратного 10
static void roundToNearest(StringBuilder str, int n)
// Если последняя цифра меньше или равна 5
// тогда его можно округлить до ближайшего
// (предыдущий) кратный 10, просто заменив
// последняя цифра с 0
// Устанавливаем последнюю цифру в 0
// Распечатать обновленный номер
// Число должно быть округлено до
// следующий кратный 10
// Для хранения переноски
// Заменить последнюю цифру на 0
// Начиная со второй последней цифры,
// добавляем 1 к цифрам, пока есть перенос
// Пока есть цифры для рассмотрения
// и есть возможность добавить
while (i >= 0 && carry == 1 )
// Получить текущую цифру
// Если цифра превышает 9, то
// будет сгенерирован перенос
if (currentDigit > 9 )
// иначе не будет переноса
// Обновляем текущую цифру
str.setCharAt(i, ( char )(currentDigit + ‘0’ ));
// Получить предыдущую цифру
// Если перенос по-прежнему равен 1, то он должен быть
// вставляем в начало строки
// Распечатать остаток номера
public static void main(String[] args)
StringBuilder str = new StringBuilder( «99999999999999993» );
// Этот код предоставлен
// sanjeev2552
# Python 3 реализация подхода
# Функция для округления заданного числа
# до ближайшего кратного 10
# Если последняя цифра меньше или равна 5
# тогда оно может быть округлено до ближайшего
# (предыдущий) кратный 10, просто заменив
# последняя цифра с 0
# Установите последнюю цифру в 0
# Распечатать обновленный номер
# Число должно быть округлено до
# следующий кратный 10
# Для хранения керри
# Заменить последнюю цифру на 0
# Начиная со второй последней цифры,
# добавьте 1 к цифрам, пока есть перенос
# Пока есть цифры для рассмотрения
# и есть кэрри, чтобы добавить
while (i > = 0 and carry = = 1 ):
# Получить текущую цифру
# Если цифра превышает 9, то
# будет сгенерирован перенос
if (currentDigit > 9 ):
# Иначе не будет никакого переноса
# Обновить текущую цифру
str [i] = chr (currentDigit + ‘0’ )
# Перейти к предыдущей цифре
# Если перенос по-прежнему равен 1, то он должен быть
# вставляется в начало строки
# Распечатать оставшуюся часть номера
if __name__ = = ‘__main__’ :
# Этот код предоставлен
# Surendra_Gangwar
// C # реализация подхода
// Функция для округления заданного числа
// с точностью до кратного 10
static void roundToNearest(StringBuilder str, int n)
// Если последняя цифра меньше или равна 5
// тогда его можно округлить до ближайшего
// (предыдущий) кратный 10, просто заменив
// последняя цифра с 0
// Устанавливаем последнюю цифру в 0
// Распечатать обновленный номер
// Число должно быть округлено до
// следующий кратный 10
// Для хранения переноски
// Заменить последнюю цифру на 0
// Начиная со второй последней цифры,
// добавляем 1 к цифрам, пока есть перенос
// Пока есть цифры для рассмотрения
// и есть возможность добавить
while (i >= 0 && carry == 1)
// Получить текущую цифру
// Если цифра превышает 9, то
// будет сгенерирован перенос
if (currentDigit > 9)
// иначе не будет переноса
// Обновляем текущую цифру
str[i] = ( char )(currentDigit + ‘0’ );
// Получить предыдущую цифру
// Если перенос по-прежнему равен 1, то он должен быть
// вставляем в начало строки
// Распечатать остаток номера
public static void Main(String[] args)
StringBuilder str = new StringBuilder( «99999999999999993» );
// Этот код предоставлен
// Rajnis09