>백엔드 개발 >C++ >처음 N개의 자연수에 대한 적절한 순열 찾기 C++

처음 N개의 자연수에 대한 적절한 순열 찾기 C++

WBOY
WBOY앞으로
2023-08-25 19:09:13928검색

找到前N个自然数的好排列 C++

이 문제에는 정수 값 N이 있습니다. 우리의 임무는 첫 번째 N개의 자연수의 좋은 순열을 찾는 것입니다.

배열은 배열된 순서를 고려하여 일련의 개체 전체 또는 일부를 배열하는 것입니다.

좋은 순열은 $1leqslant{i}leqslant{N}$이 다음 조건을 만족하는 순열입니다.

$P_{pi}:=:i$

$P_{p!}:=:i $

이 문제를 이해하기 위해 예를 들어 보겠습니다.

Input : N = 1
Output : -1

Solution Approach

문제에 대한 간단한 해결책은 pi = i가 되는 permutations p를 찾는 것입니다.

그런 다음 다시 생각해 보겠습니다. pi != i를 만족하는 방정식입니다. 따라서 $2x leqslant x$와 같은 값 x에 대해 p2x - 1 및 p2k이 있습니다. n에 대한 방정식. 여기에 방정식의 해가 있습니다.

위 내용은 처음 N개의 자연수에 대한 적절한 순열 찾기 C++의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제