이 튜토리얼에서는 라그랑주 보간 공식의 결과를 찾는 프로그램을 작성할 것입니다. 프로그램에 대한 로직을 작성하지 않았습니다. 수식을 코드로 변환하기만 하면 됩니다. 코드를 봅시다. 예시 #include<bits/stdc++.h> using namespace std; struct Data { int x, y; }; double interpolate(Data function[], int xi, int n) { double result = 0; for (i
이 튜토리얼에서는 b 중에서 더 큰 것을 찾는 프로그램을 작성할 것입니다. 그리고 ba 간단한 문제입니다. 해결 단계를 살펴보겠습니다. 및 b의 값을 초기화합니다. 두 값의 로그를 가져옵니다. $b\:\log\:a$ 및 $a\:\log\:b$ 값 계산 두 값을 비교합니다. $a\:\log\:b$가 $b\:\log\:a$보다 크면 ba를 인쇄합니다. 더 큽니다. $b\:\log\:a$가 $a\:\log\:b$보다 크면 ab를 인쇄합니다. 더 큽니다. 그렇지 않으면 둘 다 동일합니다. 예시 코드를 봅시다. #include
이 튜토리얼에서는 n자리 숫자 중 가장 큰 짝수와 홀수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n을 초기화합니다. 가장 큰 홀수는 pow(10, n) - 1입니다. 가장 큰 짝수는 홀수 - 1입니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; void findEvenAndOddNumbers(int n) { int odd = pow(10, n) - 1; int even
이 튜토리얼에서는 모든 자릿수가 짝수이고 주어진 n보다 크지 않은 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n을 초기화합니다. i =n .에서 루프 작성 현재 숫자의 자릿수가 모두 짝수인지 확인합니다. 위의 조건이 충족되면 숫자를 출력하세요. 그렇지 않으면 i를 감소시킵니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int allDigitsEven(int n) { while
이 튜토리얼에서는 한 자릿수 교환으로 가능한 가장 큰 짝수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 문자열 형식으로 숫자를 초기화합니다. 주어진 숫자를 반복합니다. 숫자의 마지막 숫자보다 작거나 같은 짝수를 찾습니다. 원하는 짝수를 찾으면 루프를 끊습니다. 짝수가 없으면 주어진 숫자를 반환합니다. 마지막 숫자를 위 단계에서 찾은 짝수로 바꿉니다. 번호 반환 예 #include <bits/stdc++.h> using namespace std; string getLargestEven
이 튜토리얼에서는 주어진 배열에서 두 요소 사이의 가장 큰 차이를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 배열에서 최대 및 최소 요소를 찾습니다. 최대 반환 - 최소 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int findLargestGap(int arr[], int n) { int max = arr[0], min = arr[0]; for (int i
이 튜토리얼에서는 x로 나누어 떨어지는 가장 큰 k자리 숫자를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. x 및 k를 초기화합니다. 가장 큰 k자리 수인 pow(10, k) - 1의 값을 찾습니다. 이제 위의 값에서 나머지 값을 제거하여 x로 나눌 수 있는 가장 큰 k자리 숫자를 구합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int answer(int x, int k) { int max = po
이 튜토리얼에서는 주어진 3개의 숫자로 나누어 떨어지는 가장 큰 n자리 숫자를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. n과 함께 3개의 숫자를 초기화합니다. 세 숫자의 LCM을 구합니다. 가장 큰 수를 n자리로 저장합니다. 가장 큰 숫자가 n으로 나누어 떨어지는 경우 반환합니다. 또는 위 단계에서 나머지를 뺀 숫자를 확인합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int LCM(int x, int y, int z)
이 튜토리얼에서는 n의 자릿수 합보다 큰 자릿수 합으로 N보다 작은 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자의 합을 구하는 함수를 작성하세요. 초기화 n. n - 1에서 1까지 반복하는 루프를 작성합니다. n의 자릿수 합으로 현재 숫자의 자릿수 합을 확인합니다. 현재 숫자의 자릿수 합이 n보다 크면 현재 숫자를 반환합니다. 다음 번호로 이동합니다. 예 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int sumOfDi
이 튜토리얼에서는 주어진 x보다 작고 최대 k 세트 비트를 가져야 하는 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 x와 k를 초기화합니다. 숫자 x에서 설정된 비트를 찾습니다. x - k의 세트 비트 수를 반복하는 루프를 작성하십시오. x 값을 x &(x - 1)로 업데이트합니다. 반환 x. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int largestNumberWithKBits(int x, int
이 튜토리얼에서는 N보다 작거나 같고 k로 나누어 떨어지는 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n과 k를 초기화합니다. 모듈로 연산자로 나머지를 구합니다. 나머지가 0이면 n을 반환합니다. 그렇지 않으면 n - 나머지를 반환합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; int findLargerNumber(int n, int k) { int remainder = n % k; &n
이 튜토리얼에서는 m 1 과 m - 1 0 중 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 2개의 변수 비트와 결과를 각각 2와 1로 초기화합니다. 1에서 n까지 반복하는 루프를 작성합니다. pow(2, bits) - 1) * (pow(2, bits - 1)으로 반복 변수 값을 업데이트합니다. 반복 변수가 n보다 작으면 결과를 i로 업데이트합니다. 비트 수를 늘립니다. 결과를 반환합니다. 예시 코드를 봅시다. #include <bits/stdc++.h> using na
이 튜토리얼에서는 한 번의 스왑으로 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n을 초기화합니다. 정수를 문자열로 변환합니다. 문자열의 끝에서 반복하는 루프를 작성하십시오. 최대 자릿수와 색인을 찾습니다. 현재 자릿수가 최대 자릿수보다 작으면 시작 인덱스를 현재 인덱스로 업데이트하고 끝 인덱스를 최대 자릿수 인덱스로 업데이트합니다. 시작 인덱스가 -1이면 n을 반환합니다. 그렇지 않으면 시작 인덱스와 끝 인덱스의 숫자를 바꿉니다. 변환하여 정수를 반환합니다. 예시 코드를
이 튜토리얼에서는 n보다 작은 소수로 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 0에서 n까지 반복하는 루프를 작성합니다. 현재 숫자가 소수가 아닌 경우. 숫자가 2보다 작을 때 i 값을 감소시킵니다. i 값이 음수이면 0으로 만듭니다. 현재 색인 값을 다음으로 작은 소수로 업데이트합니다. 다음 색인에서 모든 숫자를 7로 만듭니다. 반환 n. 예시 코드를 봅시다. #include <bits/stdc++.h> using namespace std; bool isPri
이 튜토리얼에서는 2, 3, 5로 나누어 떨어지는 배열에서 가장 큰 수를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 숫자는 0으로 끝나야 하고 모든 숫자의 합은 3의 배수여야 2, 3, 5로 나눌 수 있습니다. 배열에 0이 있는지 확인하고 어레이에 없으면 인쇄할 수 없습니다. 배열을 내림차순으로 정렬합니다. 합계 % 3의 나머지를 구합니다. 나머지가 1이 아니면 끝에서 숫자 % 3의 나머지가 위의 나머지와 같은 모든 숫자를 삭제합니다. 위와 같은 나머지를 가진 자릿수가 없으면
이 튜토리얼에서는 기껏해야 k 스왑 후에 가장 큰 순열을 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 배열을 초기화하여 크기가 n + 1인 인덱스를 저장합니다. 배열을 반복하고 위치 배열에 각 요소의 인덱스를 저장합니다. n과 k가 0보다 클 때까지 반복하는 루프를 작성하십시오. n - i 요소의 위치를 임시 변수에 저장합니다. 현재 요소 arr[i]의 위치를 position[n - i]로 업데이트합니다. 현재 인덱스 i로 위치 위치[n - i]를 업데이트합니다. 현재 요
이 튜토리얼에서는 비트 OR로 가장 큰 집합이 주어진 숫자 n과 같은 것을 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n을 초기화합니다. 0에서 n까지 반복하는 루프를 작성합니다. 만약 i | n은 n과 같으며 결과에 i를 더합니다. 결과를 반환합니다. 예 코드를 봅시다. #include <bits/stdc++.h> using namespace std; void printBitWiseOrSet(int n) { vector<int> v; &nb
이 튜토리얼에서는 주어진 숫자 n보다 작은 단일 스왑으로 가장 큰 숫자를 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 숫자 n을 초기화합니다. 문자열 끝에서 반복하고 다음 숫자보다 큰 숫자의 인덱스를 찾습니다. 변수에 저장합니다. 찾는 즉시 루프를 끊으세요. 문자열 끝에서 위의 인덱스까지 숫자를 반복합니다. 위의 색인된 숫자보다 작고 영역의 모든 숫자 중에서 큰 숫자의 색인을 찾습니다. 위의 두 인덱스에서 숫자를 바꿉니다. 업데이트된 숫자를 반환합니다. 예 코드를 봅시다. #include
이 튜토리얼에서는 합이 k보다 큰 가장 큰 부분배열을 찾는 프로그램을 작성할 것입니다. 문제를 해결하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 배열을 반복하고 인덱스와 함께 벡터의 각 인덱스에 합계를 저장합니다. 합계와 색인을 기준으로 위의 합계를 정렬합니다. 색인을 저장할 배열을 초기화합니다. n까지 반복하는 루프를 작성합니다. 위 인덱스 배열의 최소 인덱스 값과 이전 합계 배열 인덱스 값을 업데이트합니다. 합계를 0으로 초기화합니다. n까지 반복하는 루프를 작성합니다. 현재 요소를 합계에 추가합니다. 합이 k보다 큰
프로그램을 완료하는 단계를 살펴보겠습니다. 배열을 초기화합니다. 배열의 모든 0을 -1로 만듭니다. 이전 색인을 저장할 지도를 빈 지도로 만드세요. 합계를 0으로, 최대 길이를 0으로, 끝 인덱스를 -1로 초기화합니다. n이 될 때까지 반복하는 루프를 작성합니다. 현재 요소를 합계에 추가합니다. 합계가 0인 경우. i + 1로 최대 길이를 업데이트합니다. 그리고 종료 인덱스는 i. 이전 합계 맵에 합계가 존재하고 i - previousIndexes[sum]이 최대 길이보다 큰 경우. 최대 길이 및 끝 색인 업데이트 그렇지