数学:从数字中删除一个数字

时间:2012-06-07 16:46:47

标签: math digit

假设我有以下号码:1286现在我想删除最后一位数6,最后只有前三位数128。我也想使用数字6和数字1286作为输入。

此外,如果有一个c#解决方案会很棒。 感谢

修改 我想用6和1286之间的数学方程式做这个,我已经知道如何解析字符串了,这不是我想要的。

3 个答案:

答案 0 :(得分:1)

string input = "OneTwoThree";

// Get first three characters
string sub = input.Substring(0, 3);

sub现在将有来自字符串的前3个字符,0是起始位置,然后你想要多少个字符(即:3) - 这是(0,3)来的地方在它 - 如果你有(3,3),sub将等于“Two”

我认为这可能就是你要找的东西:)

答案 1 :(得分:1)

请尝试下面的代码:(这只是使用数学函数完成的,我也不知道C#)

    java.util.Scanner s=new java.util.Scanner(System.in);
    int last=s.nextInt();
    int firstNumber=s.nextInt();
    int ans=0;
    loop:
    for(int temp=firstNumber,i=0;temp>0;temp/=10)
    {
        if(temp%10==last){ans=temp/10;while(i>0){ans=ans*10+(i%10);i/=10;} break loop;}
        i=i*10;
        i=i+(temp%10);
    }
    if(ans>0)System.out.println(ans);

    }
}

答案 2 :(得分:0)

在JavaScript中:这是您的号码:

var num = 1286;

此行删除最后一位数字:

num % 10; //returns 6

这两行删除了6:

num /= 10 // turns num to 128.6
num = Math.trunc(num) // num now equals 128

更好的是,你可以把它放在一个函数中,就像这样:

function sumOfDigits(num) {
  const sumArr = [];
  while (num > 0) {
    sumArr.push(num % 10);
    num /= 10;
    num = Math.trunc(num);
  }
  return sumArr.reduce((a, b) => a + b, 0);
}

sumOfDigits(1234);
// returns 10

希望这有帮助。