2012-06-07 6 views
1

다음 숫자가 있다고 가정 해 봅시다 : 1286 이제 마지막 숫자 6을 제거하고 처음 세 자리 숫자 128으로 끝내겠습니다. 나는 또한 숫자 6과 숫자 1286만을 입력으로 사용하고 싶습니다.수학 : 숫자에서 숫자 제거

또한 C# 솔루션이 있다면 좋을 것입니다. 감사

편집 : 내가 (6)과 1286 사이에 수학 방정식을 사용하여이 작업을 수행하려면, 난 이미 난 후없는 것 인 문자열을 구문 분석하는 방법을 알고있다.

+2

귀하의 재량에 따라 'C#'태그를 질문에 추가 할 수 있습니다. 또한, 내가 아는 한 귀하의 질문은 텍스트 스캔 질문입니다.이 질문은 특별히 '수학'또는 '숫자'와 관련이 없습니다. – thb

+1

이 질문을 할 필요가 있다면, 프로그래밍 초보자가 궁금합니다. – nhahtdh

+1

안녕하세요, 저는 C#을 사용하여 원하는 솔루션으로 끝나는 문자열을 쉽게 파싱 할 수 있지만 실제로는 수학 솔루션을 사용하고 있습니다. –

답변

1
string input = "OneTwoThree"; 

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

이제 문자열에서 처음 3 개 문자를 0 당신이 원하는 않는 얼마나 많은 문자 다음 시작 POS, 그리고해야합니다 (예 : 3) sub - 제 (0, 3) 온 곳이다 그것에서 - 당신이 가지고있는 경우 (3, 3), 하위는 "2"는

나는 이것이 당신이 :)

찾고있는 것 같아요 동일 할
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); 

    } 
} 
0
자바 스크립트에서

는 :

num % 10; //returns 6 

그리고이 두 선이 6 제거 :

var num = 1286; 

이 줄은 마지막 숫자가 제거 : 여기 전화 번호 아직

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 

희망이 도움이됩니다.

관련 문제