숫자라고 가정하면 정수형의 숫자가 주어집니다. 이 작업은 재정렬된 숫자가 주어진 숫자로 나누어질 수 있도록 숫자의 자릿수를 재정렬하는 것입니다.
Input - int number = 100035
Output - 재배치 후 숫자로 나눌 수 있는 숫자는 300105
설명 - 우리는 정수, 즉 100035입니다. 이제 과제는 형성된 숫자가 숫자로 나누어질 수 있도록 주어진 숫자를 재배열하는 것입니다. 100035. 따라서 숫자를 다시 배열하면 100035로 나누어지는 300105가 됩니다.
Input - int 숫자 = 1000035
Output - 재배열된 숫자도 이것으로 나눌 수 있습니다: 3000105
Explanation - 정수 "숫자"는 1000035입니다. 이제 과제는 형성된 숫자가 1000035로 나누어지도록 주어진 숫자를 재배열하는 것입니다. 따라서 숫자를 다시 배열하면 1000035로 나누어지는 3000105가 됩니다.
Input - int 숫자 = 28
Output - 재배열된 숫자도 이것으로 나눌 수 있습니다: -1
Explanation - 정수 "숫자"는 28입니다. 이제 과제는 형성된 숫자가 28로 나누어지도록 주어진 숫자를 재배열하는 것입니다. 따라서 숫자를 재배열하면 숫자 28로 나누어지지 않는 82를 얻게 되므로 출력은 -1이 됩니다.
숫자라고 가정하고 정수형의 변수를 입력하고 그 데이터를 재정렬(숫자) 함수에 전달합니다.
재배열(숫자) 함수에서
vec(10, 0)이라고 가정하고 정수형 변수를 저장하는 벡터 변수를 만듭니다.
total_count(number, vec) 함수를 호출하고 number와 vec를 함수에 매개변수로 전달합니다.
i가 10보다 작을 때까지 i에서 2까지의 루프로 시작하세요. 루프 내에서 temp를 숫자 * i로 설정합니다.
vec_2(10, 0)이라고 가정하고 정수형 변수를 저장하는 벡터 변수를 만듭니다.
total_count(number, vec_2) 함수를 호출하고 number와 vec_2를 함수에 매개변수로 전달합니다.
동일(vec.begin(), vec.end(), vec_2.begin())인지 확인한 다음 temp를 반환합니다. 그렇지 않으면 -1이 반환됩니다.
함수 total_count(int number, vector
숫자가 1일 때 루프를 시작합니다. 루프 내에서 vec_3을 vec_3[number % 10]++로 설정하고 number를 number/10으로 설정합니다.
#include<bits/stdc++.h> using namespace std; void total_count(int number, vector<int> &vec_3){ while(number){ vec_3[number % 10]++; number = number / 10; } } int Rearrangement(int number){ vector<int> vec(10, 0); total_count(number, vec); for(int i = 2; i < 10; i++){ int temp = number * i; vector<int> vec_2(10, 0); total_count(temp, vec_2); if(equal(vec.begin(), vec.end(), vec_2.begin())){ return temp; } } return -1; } int main(){ int number = 100035; cout<<"Rearrangement of a number which is also divisible by it is: "<<Rearrangement(number); return 0; }
위 코드를 실행하면 다음과 같은 출력이 생성됩니다
Rearrangement of a number which is also divisible by it is: 300105
위 내용은 C++에서 재정렬할 수 있는 숫자를 재정렬합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!