Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C++

    1. C++에서 허용되는 다른 것으로 교체하여 비용 최소화

      N개의 요소가 있는 배열이 있다고 가정합니다. 주어진 작업에 따라 배열에서 요소를 제거해야 합니다. 작업은 배열의 두 숫자를 선택하고 더 큰 숫자를 제거하는 것과 같습니다. 이 작업에 포함된 비용은 더 작은 숫자와 동일합니다. 이 작업을 기반으로 한 번에 하나의 요소만 삭제하고 최소 비용으로 작업을 수행해야 합니다. 배열에 {4, 2, 5}가 있다고 가정합니다. 4와 2를 선택하고 비용 2를 지불하여 4를 제거한 다음 비용 2로 5를 다시 제거합니다. 접근 방식은 너무 간단합니다. 비용이 더 작은 것과 같을 것이라는 것을 알고 있

    2. C++에서 가능한 모든 하위 배열 중에서 최소 LCM 및 GCD 가능

      크기가 N인 배열 arr이 있다고 가정합니다. N개의 양수가 있습니다. 가능한 모든 하위 배열의 최소 요소를 찾아야 합니다. 배열이 {2, 66, 14, 521}이고 최소 LCM이 2이고 GCD가 1이라고 가정합니다. 탐욕스러운 접근 방식을 사용하여 이 문제를 해결할 것입니다. 요소 수를 줄이면 LCM이 줄어들고 배열 크기를 늘리면 GCD가 작아집니다. 배열에서 가장 작은 요소를 찾아야 하며, 이는 단일 요소이며 LCM이 필요합니다. GCD의 경우 GCD는 배열의 모든 요소에 대한 GCD가 됩니다. 예시 #include <i

    3. C++에서 문자 삭제 없이 두 개의 문자열 아나그램을 만드는 데 필요한 최소 조작 수

      길이가 같은 두 개의 문자열이 있다고 가정하면 문자를 삭제하지 않고 두 개의 문자열을 아나그램으로 만드는 데 필요한 최소 변경 수를 찾아야 합니다. Anagram은 동일한 문자 집합을 가진 두 개의 문자열입니다. 두 개의 문자열이 HELLO이고 WORLD가 이 경우 3개의 문자가 다르기 때문에 필요한 변경 수는 3이라고 가정합니다. 아이디어는 간단합니다. 첫 번째 문자열에서 각 문자의 빈도를 찾은 다음 두 번째 문자열을 살펴보고 두 번째 문자열의 문자가 있는 경우 빈도 배열에서 빈도 값을 줄여야 합니다. 빈도 값이 0보다 작으면

    4. C++에서 배열의 GCD를 k의 배수로 만들기 위한 최소 연산

      배열 arr와 다른 값 k가 있다고 가정합니다. 배열의 GCD를 k의 배수와 같게 만들기 위한 최소 연산 수를 찾아야 합니다. 이 경우 작업은 값을 늘리거나 줄입니다. 배열이 {4, 5, 6}이고 k가 5라고 가정합니다. 4를 1로 늘리고 6을 1로 줄이면 5가 됩니다. 여기서 연산의 수는 2입니다. 결과를 얻으려면 다음 단계를 따라야 합니다 - 단계 - 배열의 모든 요소 e에 대해 2단계와 3단계를 수행합니다. k이면 결과를 (e mod k) 및 (k – e mod k)의 최소값으로 증가시킵니다. 그렇지 않으면 결과는 r

    5. C로 나눌 수 있고 C++에서 [A, B] 범위에 없는 최소 양의 정수

      세 개의 정수 A, B, C가 있다고 가정합니다. X mod C =0이고 X가 [A, B] 범위에 있지 않은 하나의 최소 정수 X를 찾아야 합니다. A, B 및 C의 값이 각각 5, 10 및 4이면 X의 값은 4가 됩니다. 해를 구하는 단계를 살펴보겠습니다 - 단계 - C가 [A, B] 범위에 없으면 결과로 C를 반환합니다. 그렇지 않으면 B보다 큰 C의 첫 번째 배수를 얻은 다음 해당 값을 반환합니다. 예시 #include <iostream> using namespace std; int findMinMumber(

    6. C++에서 주어진 배열 요소의 계승의 GCD 찾기

      N개의 요소가 있는 배열 A가 있다고 가정합니다. 배열의 모든 요소에 대한 계승의 GCD를 찾아야 합니다. 요소가 {3, 4, 8, 6}이라고 가정하고 계승의 GCD는 6입니다. 여기서 우리는 트릭을 볼 것입니다. 두 숫자의 GCD는 두 숫자를 모두 나누는 가장 큰 숫자이므로 두 숫자의 계승의 GCD는 가장 작은 숫자 자체의 계승 값입니다. 그래서 3의 gcd! 그리고 5! 3이다! =6. 예시 #include <iostream> using namespace std; long fact(int n){    

    7. C++에서 재귀 또는 유클리드 알고리즘을 사용하지 않고 두 숫자의 HCF 찾기

      우리가 알고 있듯이 HCF 또는 GCD는 유클리드 알고리즘을 사용하여 쉽게 계산할 수 있습니다. 그러나 여기서 우리는 유클리드 알고리즘이나 재귀 알고리즘을 사용하지 않고 GCD 또는 HCF를 생성하는 방법을 볼 것입니다. 두 숫자가 16과 24로 존재한다고 가정합니다. 이 두 숫자의 GCD는 8입니다. 여기에서 접근 방식은 간단합니다. 이 둘 중 더 큰 수를 더 작은 수로 나눌 수 있으면 HCF이고, 그렇지 않으면 (작은 / 2)에서 1로 시작합니다. 현재 요소가 두 숫자를 모두 나누는 경우 HCF입니다. 예시 #include &

    8. C++에서 점이 원 안에 있는지 찾기

      하나의 원(중심 좌표와 반지름)이 주어지고 다른 점이 주어졌다고 가정합니다. 점이 원 안에 있는지 여부를 찾아야 합니다. 이를 해결하려면 원 중심에서 주어진 점까지의 거리를 찾아야 합니다. 그 거리가 반지름보다 작거나 같으면 원 안에 있고 그렇지 않으면 그렇지 않습니다. 예시 #include <iostream> #include <cmath> using namespace std; bool isInsideCircle(int cx, int cy, int r, int x, int y) {    int

    9. nCr이 C++에서 주어진 소수로 나눌 수 있는지 확인

      세 개의 변수 N, R 및 P가 있다고 가정합니다. N 및 R은 N을 얻는 데 사용됩니다. CR 그리고 P는 소수이다. N CR P로 나눌 수 있습니다. N =7, R =2, P =3의 숫자가 있다고 가정하고 7 C2 =21, 이것은 3으로 나눌 수 있으므로 출력은 참이 됩니다. N CR 알! + (N - R)! 예시 #include <iostream> using namespace std; int getPower(int n, int p) {    int pow = 0;    while

    10. C++에서 유리수의 LCM 찾기

      여기서 우리는 유리수의 LCM을 찾는 방법을 볼 것입니다. 유리수 목록이 있습니다. 목록이 {2/7, 3/14, 5/3}과 같다고 가정하면 LCM은 30/1이 됩니다. 이 문제를 해결하려면 모든 분자의 LCM을 계산하고 모든 분모의 gcd를 계산한 다음 유리수의 LCM을 계산하면 다음과 같습니다. - $$LCM =\frac{LCM\:of\:all\:𝑛𝑢𝑚𝑒𝑟𝑎𝑡𝑜𝑟𝑠}{GCD\:of\:all\:𝑑𝑝𝑛𝑜𝑚𝑖𝑝 예시 #include <iostream> #include <vector>

    11. C++에서 드래곤 커브 시퀀스의 n번째 항 찾기

      여기서 우리는 Dragon Curve 시퀀스의 n번째 항을 찾을 수 있는 프로그램을 볼 것입니다. 드래곤 곡선 시퀀스는 무한 이진 시퀀스입니다. 1부터 시작하여 각 단계에서 이전 용어의 각 요소 앞뒤에 1과 0을 교대로 추가하여 다음 용어를 형성합니다. 1학기:1 2학기 :110 3학기 :1101100 4학기 :110110011100100 1부터 시작하여 이전 용어의 각 요소 뒤에 교대로 1과 0을 추가합니다. 얻은 새 용어가 현재 용어가 되면 1에서 n까지의 단계를 반복하여 다음 용어를 생성합니다. 예 #include <

    12. C++에서 배열의 각 요소에 대한 능가 수 찾기

      하나의 배열 A가 주어졌다고 가정합니다. 우리는 해당 배열의 각 요소를 능가하는 수를 찾아야 합니다. 능가자는 현재 요소 배열의 오른쪽에 있는 더 큰 요소입니다. A ={2, 7, 5, 3, 0, 8, 1}이고 능가자는 {4, 1, 1, 1, 2, 0, 0}이므로 2는 오른쪽에 4개의 숫자가 있고 더 큰 수입니다. 4보다 크고 다른 사람들도 같은 규칙입니다. 솔루션은 매우 간단합니다. 두 개의 중첩 루프가 있을 것입니다. 각 요소에 대해 초과 항목을 계산한 다음 다른 배열에 저장합니다. 예시 #include <iostream&

    13. C++에서 LCM과 HCF가 주어졌을 때 다른 숫자 찾기

      숫자 A, LCM 및 GCD 값이 있다고 가정하면 다른 숫자 B를 찾아야 합니다. A =5, LCM은 25, HCF =4이면 다른 숫자는 4가 됩니다. − $$𝐴∗𝐵=𝐿𝐶𝑀∗𝐻𝐶𝐹$$ $$𝐵=\frac{LCM*HCF}{A}$$ 예시 #include <iostream> using namespace std; int anotherNumber(int A, int LCM, int GCD) {    return (LCM * GCD) / A; } int main() {    in

    14. C++에서 결과 색상 조합 찾기

      세 가지 색상(G, B, Y)의 문자열이 있습니다. 우리는 이러한 관계를 기반으로 결과 색상을 찾아야 합니다 - B * G =Y Y * B =G G * Y =B 문자열이 GBYGB이고 B라고 가정합니다. 문자열이 BYB이면 Y가 됩니다. 접근 방식은 간단합니다. 우리는 문자열을 취할 것입니다. 주어진 조건을 사용하여 각 알파벳을 인접한 문자와 비교하여 색상을 찾습니다. 예시 #include <iostream> using namespace std; char combination(string s) {   &n

    15. 합과 GCD가 C++로 주어진 두 숫자 찾기

      우리는 두 숫자와 b의 합과 gcd를 가지고 있습니다. 숫자와 b를 모두 찾아야 합니다. 이것이 불가능하면 -1을 반환합니다. 합이 6이고 gcd가 2라고 가정하면 숫자는 4와 2입니다. 접근 방식은 GCD가 주어졌을 때 숫자가 그것의 배수가 될 것이라는 것을 알고 있는 것과 같습니다. 이제 다음 단계가 있습니다. 첫 번째 숫자를 GCD로 선택하면 두 번째 숫자는 합계 - GCD가 됩니다. 이전 단계에서 선택한 숫자의 합이 합과 같으면 두 숫자를 모두 출력합니다. 그렇지 않으면 숫자가 존재하지 않으므로 -1을 출력

    16. C++에서 곱셈 시 정수 오버플로 확인

      두 개의 숫자 A와 B를 곱한 결과를 찾고 싶다고 가정해 봅시다. 곱한 값이 64비트 정수를 초과하는지 확인해야 합니다. 100에 200을 곱하면 넘지 않고, 10000000000에 -10000000000을 곱하면 넘친다. 이를 확인하려면 몇 가지 단계를 수행해야 합니다. 다음과 같습니다 - 단계 - 숫자 중 하나가 0이면 초과하지 않습니다. 그렇지 않고 2의 곱을 1로 나눈 값이 다른 1과 같으면 초과하지 않습니다. 다른 경우에는 초과합니다. 예시 #include <iostream> #inclu

    17. C ++에서 숫자가 마술인지 확인하십시오 (자릿수의 재귀 합이 1 임).

      여기서 숫자가 매직 넘버인지 여부를 확인할 수 있는 하나의 프로그램을 볼 수 있습니다. 숫자의 재귀 합이 1일 때 숫자를 매직 넘버라고 합니다. 숫자가 50311 =5 + 0 + 3 + 1 + 1 =10 =1 + 0 =1과 같다고 가정하면 이것이 매직 넘버입니다. 숫자가 마술인지 아닌지 확인하려면 한 자리 숫자에 도달할 때까지 숫자를 더해야 합니다. 예시 #include <iostream> using namespace std; int isMagicNumber(int n) {    int digit_su

    18. C++에서 소수 사이에 숫자가 끼워져 있는지 확인

      여기서 우리는 숫자가 소수 사이에 끼어 있는지 여부를 볼 것입니다. 숫자 바로 뒤에 오는 숫자가 소수일 때 소수 사이에 끼어 있고 그 바로 아래에 있는 숫자가 소수일 때 숫자라고 합니다. 이를 해결하려면 n-1과 n+1이 소수인지 확인하십시오. 예시 #include <iostream> #include <set> #define N 100005 using namespace std; bool isPrime(int n) {    if (n == 0 || n == 1)     &nbs

    19. C++에서 a, b 및 c에서 모든 0을 제거한 후 a + b =c가 유효한지 확인하십시오.

      세 개의 숫자 a, b, c가 있다고 가정하고 숫자에서 0을 모두 제거한 후 a + b =c인지 확인해야 합니다. 숫자가 a =102, b =130, c =2005라고 가정하고 0을 제거한 후 숫자는 a + b =c가 됩니다. (12 + 13 =25) 이것은 true입니다. 숫자에서 0을 모두 제거한 다음 0, a + b =c를 제거한 후 확인합니다. 예시 #include <iostream> #include <algorithm> using namespace std; int deleteZeros(int n) {

    20. C++에서 이진 문자열에 연속적인 동일 여부가 포함되어 있는지 확인하십시오.

      바이너리 문자열이 있다고 가정합니다. 우리의 임무는 문자열에 연속적인 동일한 문자가 있는지 여부를 확인하는 것입니다. 동일한 문자가 연속적으로 있으면 유효하지 않고 그렇지 않으면 유효합니다. 그러면 문자열 101010은 유효하지만 10111010은 유효하지 않습니다. 이 문제를 해결하기 위해 왼쪽에서 오른쪽으로 순회합니다. 두 개의 연속 문자가 같으면 false를 반환하고 그렇지 않으면 true를 반환합니다. 예시 #include <iostream> #include <algorithm> using namesp

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:79/300  20-컴퓨터/Page Goto:1 73 74 75 76 77 78 79 80 81 82 83 84 85