4 개의 다른 숫자로 이루어진 배열이 있다고 가정 해 봅시다.C++, 고유성을 찾으려면 숫자 배열을 정렬하십시오.
int numbers [4] = {50234, 50356, 50454, 50934};
C에서 중첩 된 for 루프를 사용하여 고유성에 필요한 필수 자릿수를 식별하기 위해이 숫자를 앞뒤로 정렬 할 수 있습니까?
이 예에서 뒤에서 3 자릿수가 있어야 숫자에 비슷한 꼬리가 없는지 확인할 수 있습니다. 50234, 50934 = 3 자리 숫자는 각각 고유 한 값 = 502 및 509입니다.
for 루프는 숫자 하나 하나씩 숫자 하나 하나를 통과하여 동일한 숫자를 출력하여 3의 출력에 도달하는 것처럼 보입니까?
그것은 다음과 같이 갈 것 :
4
는6 -이 번호를 삭제, 그것은 동일하지
4
4
그럼 :
3
5 -이 번호
다음3
폐기 :
2
9 만세! 더 이상 비슷한 숫자가 없으므로 3이 답이됩니다.
나는 혼란스럽고 알아낼 수 없습니다.
도움을 주시면 감사하겠습니다. 감사합니다.
std::vector<std::string> string_numbers;
std::for_each(std::begin(numbers), std::end(numbers), [&](int n){ string_numbers.push_back(std::to_string(n)); });
이제 우리는 1에서 시작하여, 필요한 숫자의 번호를 확인합니다 :
정말로 정수를 확인하지 않아도 되나요? '502123456789'와'503123456789'는 뒤에서 같은 자릿수를 많이 가지고 있지만 다른 수입니다. – NathanOliver
비논리적 인 논리 없음 – Raindrop7
저는 C++을 처음 접했고 초급자 일뿐입니다. 전체 번호를 확인할 필요가 없습니다. 나는 그저 숫자가 뒤에서 앞으로 향한 모든 위치를 통과하기를 원합니다. 번호가없는 곳의 번호는 무시하고 숫자가 비슷한 번호가없는 위치에 도달하면 중지 할 수 있습니다. 말이 돼? :/ – Mitrani