Подскажите плиз как уменьшить большое число на 1

Alexde

Client
Регистрация
03.11.2015
Сообщения
49
Благодарностей
20
Баллы
8
1654172703390231363193871214409827255040536632558212919751502330593116592777 -1
java не работает
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Регистрация
05.06.2019
Сообщения
570
Благодарностей
454
Баллы
63
C#:
string source = "1654172703390231363193871214409827255040536632558212919751502330593116592777";

if (source.Length > 1)
{
    string str = source.Substring(source.Length - 2, 2);
    
    if (int.TryParse(str, out int num)) {
        num++;
        return source.Substring(0, source.Length - 2) + num.ToString();
    }
}
 
  • Спасибо
Реакции: Sergodjan и Astraport

Alexde

Client
Регистрация
03.11.2015
Сообщения
49
Благодарностей
20
Баллы
8
C#:
string source = "1654172703390231363193871214409827255040536632558212919751502330593116592777";

if (source.Length > 1)
{
    string str = source.Substring(source.Length - 2, 2);
  
    if (int.TryParse(str, out int num)) {
        num++;
        return source.Substring(0, source.Length - 2) + num.ToString();
    }
}
ну как он доходит до 0 то просто сокращает длину чилда на 1( а не арифметически
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 424
Баллы
113
C#:
string source = "1654172703390231363193871214409827255040536632558212919751502330593116592777";
string result = "";
bool change = true;
foreach(char c in source.Reverse()){
    if(change){
        int num = int.Parse(c.ToString());
        if(num > 0){
            result = result.Insert(0, (num - 1).ToString());
            change = false;
        }
        else result = result.Insert(0, "9");
    }
    else{
        result = result.Insert(0, c.ToString());
    }
}
if(result.First() == '0'){
    result = result.Remove(0, 1);
}
return result;
Так работает, как надо с положительными числами любой длины и с любым количеством 0 на конце.
 
  • Спасибо
Реакции: Alexde и Sergodjan

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)