Что значит округлить до ближайшего целого числа кратного 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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *