int 배열에 숫자와 숫자를 나누는 방법이 있습니까?숫자를 나누어 int 배열에 저장
숫자에서 일부 숫자를 제거하는 방법을 찾고 있습니다 (나누어 진 알고리즘 증명 용). 나는 숫자 12345이있는 경우
예를 들어, 나는이 작업을 수행해야합니다
12345 = 1229
이 할 수있는 방법이 있나요?
int 배열에 숫자와 숫자를 나누는 방법이 있습니까?숫자를 나누어 int 배열에 저장
숫자에서 일부 숫자를 제거하는 방법을 찾고 있습니다 (나누어 진 알고리즘 증명 용). 나는 숫자 12345이있는 경우
예를 들어, 나는이 작업을 수행해야합니다
12345 = 1229
이 할 수있는 방법이 있나요?
마지막 숫자를 얻으려면 n % 10
을 사용하고 다른 숫자를 얻으려면 n/10
을 사용하십시오. 예를 들어, 5 = 12345 % 10, 1234 = 12345/10입니다.
int array[6];
int n = 123456;
for (int i = 5; i >= 0; i--) {
array[i] = n % 10;
n /= 10;
}
, vector
들, 특히 당신이 아마 사전에 숫자의 번호를 알고하지 않기 때문에이 경우, C++ 바람직하다.
int n = 123456;
vector<int> v;
for(; n; n/=10)
v.push_back(n%10);
그런 다음 v
는 {6,5,4,3,2,1}
가 포함되어 있습니다. 선택적으로 std::reverse
을 사용하여 되돌릴 수 있습니다.
나는 sudo 코드로 답을 줄 예정이다.
int [] makeArrayFromInt (int input){
arr = new int [floor(log(input)/log(10)) + 1]
int index = 0
while(input>0){
arr[index]=input%10
input=input/10
index++
}
return arr
}
기본적인 아이디어는 다음 자리에 도착 (10)에 의해 특정 숫자 장소와 분열의 값을 얻을 모드 10을 사용하는 것입니다. 10으로 나누기 전까지이 과정을 반복하면 숫자가 끝났을 때와 마찬가지로 0이됩니다. Floor (log (input)/log (10)) +1은 숫자가 가지고있는 숫자의 수를 알아내는 속임수입니다.
'int n = 12345; int diff = n/10 - n % 10; cout << diff;' –
당신은 각 자리에 배열의 한 자리에 10 자리를 넣으려는 것입니까? – aaronman
용어 문제 - 정수에서 숫자를 가져오고 숫자에서 정수를 가져 오지 않으려 고합니다. 숫자도 정수입니다.) – Steve314