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

    1. 숫자 사이의 모든 쌍이 GCD K를 갖도록 N 줄의 숫자를 인쇄하십시오.

      GCD GCD는 0을 제외한 두 개 이상의 정수의 최대공약수를 나타냅니다. 예를 들어 48과 180의 최대 공약수를 구하려면 48 =2 × 2 × 2 × 2 × 3 180 =2 × 2 × 3 × 3 × 5 최대공약수 =2 × 2 × 3 =12. 주어진 문제에서 N 라인은 지정된 대로 GCD가 있는 요소로 인쇄되어야 합니다. Input : N=2 GCD=2 Ouput : 2-4-6-10 14-16-18-22 알고리즘 START Step 1 -> take input n(e.g. 2) and k(e.g. 2) as i

    2. 두 숫자의 k번째 공약수 출력

      두 개의 숫자 x와 y가 주어졌을 때 출력은 k번째 공약수를 포함해야 합니다. Input: x=9 y=18 k=1 Output : k common factor = 2 Factors of 9 : 1, 3, 9 Factors of 18 : 1, 2, 3, 6, 9, 18 Greatest Common Factor : 9 알고리즘 START Step 1 -: take input as x and y lets say 3 and 21 and k as 1 Step 2 -: declare start variables as int i,num,coun

    3. Newman-Conway 시퀀스의 n항 인쇄

      Newman-Conway 시퀀스는 다음 정수 시퀀스를 생성하는 데 사용됩니다. 1 1 2 2 3 4 4 4 5 6 7 7 8 8 8 8 9 10 11 12 n개의 수에 대한 Newman-Conway 시퀀스를 생성하는 데 사용되는 공식은 -입니다. P(n) = P(P(n - 1)) + P(n - P(n - 1)) Where, p(1) =p(2) =1 알고리즘 START Step 1 -> Input variable n(e.g. 20) Step 2 -> start variables as i, p[n+1], p[1]=1, p[

    4. 주어진 배열에서 n개의 가장 작은 요소를 원래 순서대로 인쇄

      k 요소의 배열이 주어지면 프로그램은 나타나는 순서대로 그 중에서 가장 작은 n개의 요소를 찾아야 합니다. Input : arr[] = {1, 2, 4, 3, 6, 7, 8}, k=3 Ouput : 1, 2, 3 Input k is 3 it means 3 shortest elements among the set needs to be displayed in original order like 1 than 2 and than 3 알고리즘 START Step 1 -> start variables as int i, max, pos,

    5. 방정식 (a+b) <=n에서 'a' 값을 인쇄하고 a+b는 x로 나눌 수 있습니다.

      주어진 방정식으로 프로그램은 a+b<=n이고 x로 나눌 수 있는 a의 값을 찾아야 합니다. 알고리즘 START Step 1 -> Declare start variables b=10, x=9, n=40 and flag=0, divisible Step 2 -> Loop For divisible = (b / x + 1 ) * x and divisible <= n and divisible += x    IF divisible - b >= 1       Print divisi

    6. 주어진 패턴을 재귀적으로 출력

      여기에서 주어진 문제 패턴에 따라 재귀 접근 방식을 사용하여 표시해야 합니다. 재귀 함수 n 번 자신을 호출하는 것입니다. 프로그램에는 n개의 재귀 함수가 있을 수 있습니다. 재귀 함수로 작업하는 문제는 복잡성입니다. 알고리즘 START Step 1 -> function int printpattern(int n)    If n>0       Printpattern(n-1)       Print *    End IF End Step

    7. 행렬 확률 질문?

      여기서 우리는 하나의 행렬 확률 문제를 볼 것입니다. 하나의 직사각형 행렬이 있습니다. 동일한 확률로 현재 셀에서 4방향으로 이동할 수 있습니다. 이 4가지 방향은 왼쪽, 오른쪽, 위, 아래입니다. N이 위치 M[i, j]에서 이동한 후 확률을 계산해야 합니다. 여기서는 DFS와 관련된 작업을 수행합니다. 우리는 현재 방에서 가능한 4개의 방 각각을 재귀적으로 순회할 것입니다. 그런 다음 우리는 한 번의 적은 움직임으로 확률을 계산할 것입니다. 네 방향 각각이 동일한 확률을 가지므로 각 방향은 총 확률의 0.25에 기여합니다. 행

    8. 중첩 루프 퍼즐?

      이 섹션에서 우리는 한 가지 흥미로운 문제를 볼 것입니다. 두 개의 코드 세그먼트가 표시됩니다. 둘 다 두 개의 중첩 루프가 있습니다. 어느 것이 더 빨리 실행될 것인지 식별해야 합니다. (컴파일러가 코드를 최적화하지 않는다고 가정합니다.) 세그먼트 1 for(int i = 0; i < 10; i++){    for(int j = 0; j<100; j++){       //code    } } 세그먼트 2 for(int i = 0; i < 100; i++

    9. 팬케이크 분류 문제?

      여기에서 Pancake sort라는 또 다른 정렬 문제를 볼 수 있습니다. 이 문제는 간단합니다. 하나의 배열이 있습니다. 우리는 이것을 정렬해야 합니다. 그러나 우리는 rev(arr, i)라는 하나의 연산만 사용할 수 있습니다. 이렇게 하면 0에서 i번째 위치로 arr의 요소가 반전됩니다. 이 아이디어는 선택 정렬과 같습니다. 배열의 크기를 줄인 끝에 max 요소를 반복적으로 배치합니다. 아이디어를 얻을 수 있는 알고리즘을 살펴보겠습니다. 알고리즘 pancakeSort(arr, n) Begin    size :

    10. C/C++ R-값 표현식에 대한 수수께끼?

      여기서 우리는 하나의 퍼즐을 볼 것입니다. 아래와 같이 주어진 프로그램이 있다고 가정하면, 우리는 무엇을 출력할 것이며 그 이유를 말해야 합니까? 예시 #include<iostream> using namespace std; int main() {    int x = 0xab;    ~x;    cout << hex << x; } 그럼 출력은 어떻게 될까요? ~x는 보수 연산을 수행하고 있습니다. 그러면 보완된 결과를 16진수 형식으로 표시합니까?

    11. 여러 단계 또는 점프가 허용되는 미로의 쥐?

      미로의 쥐 문제는 잘 알려진 역추적 문제 중 하나입니다. 여기에서 우리는 약간의 변화로 그 문제를 볼 것입니다. 하나의 NxN 미로 M이 주어졌다고 가정합니다. 시작점은 왼쪽 위 모서리 M[0, 0]이고 목적지는 오른쪽 아래 모서리 M[N – 1, N – 1]입니다. 한 마리의 쥐가 시작점에 배치됩니다. 우리의 목표는 쥐가 목적지에 도달할 수 있는 시작점에서 끝점까지의 경로를 찾는 것입니다. 여기에서 쥐는 점프할 수 있습니다(변형). 이제 몇 가지 제약이 있습니다. 쥐는 오른쪽이나 아래쪽으로 움직일 수 있습니다. 셀에 0이 있는

    12. k 일 후 활성 및 비활성 셀?

      3입니다. 값이 true 또는 1이면 활성 상태를 나타내고 0 또는 false는 비활성 상태를 나타냅니다. 또 다른 숫자 k도 주어진다. k일 후에 활성 또는 비활성 세포를 찾아야 합니다. i번째 셀의 일상 상태 이후 왼쪽과 오른쪽 셀이 같지 않으면 활성화되고 같으면 비활성화됩니다. 맨 왼쪽과 맨 오른쪽 셀에는 앞뒤에 셀이 없습니다. 따라서 가장 왼쪽 및 오른쪽 대부분의 셀은 항상 0입니다. 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다. 하나의 배열이 {0, 1, 0, 1, 0, 1, 0, 1}이고 k 값이 3이라고 가정합니

    13. 연결 목록으로 표시되는 숫자에 1을 더하시겠습니까?

      여기에서는 연결 목록에 저장된 숫자로 1을 추가하는 방법을 살펴보겠습니다. 연결 목록에는 숫자의 각 자릿수가 저장됩니다. 숫자가 512이면 아래와 같이 저장됩니다 - 512 = (5)-->(1)-->(2)-->NULL 증분 함수에 목록을 제공하고 있습니다. 1을 추가한 후 다른 목록을 반환합니다. 여기서는 C++ STL 연결 목록을 사용하고 있습니다. 더 나은 아이디어를 내기 위한 알고리즘을 살펴보겠습니다. 알고리즘 증가 목록(l1) Begin    carry := 1    re

    14. 배열로 표현되는 숫자에 1을 더하시겠습니까(재귀적 접근)?

      이 섹션에서 우리는 한 가지 흥미로운 문제를 볼 것입니다. 하나의 숫자가 주어진다고 가정합니다. 이 숫자를 1로 늘려야 합니다. 이것은 매우 간단한 작업입니다. 그러나 여기서는 숫자를 배열로 배치합니다. 해당 숫자의 각 숫자는 배열의 요소로 배치됩니다. 번호가 512이면 {5, 1, 2}로 저장됩니다. 또한 재귀 접근 방식을 사용하여 숫자를 늘려야 합니다. 명확한 아이디어를 얻기 위해 알고리즘을 살펴보겠습니다. 알고리즘 증가(arr, n, 인덱스) 초기 인덱스의 기본값은 0입니다. begin    if index

    15. 주어진 제약 조건으로 주어진 배열의 요소를 추가하시겠습니까?

      여기서 우리는 한 가지 문제를 보게 될 것입니다. 두 개의 배열 요소를 추가하고 다른 배열에 저장할 것입니다. 그러나 우리는 몇 가지 제약을 따를 것입니다. 이러한 제약 조건은 다음과 같습니다 - 더하기는 두 배열의 0번째 인덱스부터 명시해야 합니다. 합계가 한 자리 이상인 경우 분할하고 각 자리를 해당 위치에 배치합니다. 더 큰 입력 배열의 나머지 숫자는 출력 배열에 저장됩니다. 아이디어를 얻을 수 있는 알고리즘을 살펴보겠습니다. 알고리즘 addArrayConstraints(arr1, arr2) Begin   &nb

    16. C/C++ 프로그램은 배열의 모든 숫자를 사용하여 3으로 나눌 수 있는지 확인하는 프로그램입니까?

      이 섹션에서 우리는 하나의 배열에 n개의 숫자가 주어지는지, 이 숫자의 모든 요소를 ​​사용하여 숫자를 만드는지 확인해야 합니다. 그 숫자가 3으로 나누어 떨어지는지 여부를 확인해야 합니다. 배열 요소가 {15, 24, 23, 13}이면 15242313과 같은 정수를 만들 수 있습니다. 3으로 나눌 수 있습니다. 알고리즘 checkDivThree(arr) Begin    rem := 0    for each element e in arr, do       rem := (

    17. 숫자의 계승에서 후행 0을 계산하는 C/C++ 프로그램?

      여기서 우리는 임의의 수의 계승 결과에 대해 후행 0의 수를 계산하는 방법을 볼 것입니다. 따라서 n =5이면 5입니다! =120. 뒤에 오는 0은 하나만 있습니다. 20!의 경우 4개의 0이 20이 됩니다! =2432902008176640000. 가장 쉬운 방법은 계승을 계산하고 0을 계산하는 것입니다. 그러나 이 접근 방식은 n의 값이 크면 실패합니다. 그래서 우리는 다른 접근 방식을 따를 것입니다. 소인수가 2와 5인 경우 후행 0이 있을 것입니다. 2와 5를 계산하면 결과를 얻을 수 있습니다. 이를 위해 우리는 이 규칙을

    18. 연결 목록으로 표시되는 두 개의 숫자를 더하시겠습니까?

      여기서는 별도의 연결 리스트에 저장된 두 개의 숫자를 추가하는 방법을 살펴보겠습니다. 연결 목록에는 숫자의 각 자릿수가 저장됩니다. 숫자가 512이면 아래와 같이 저장됩니다 - 512 = (5)-->(1)-->(2)-->NULL 우리는 이 유형의 두 가지 목록을 제공하고 있으며, 우리의 임무는 그것들을 더하고 합계를 계산한 후 결과를 얻는 것입니다. 여기서는 C++ STL 연결 목록을 사용하고 있습니다. 더 나은 아이디어를 내기 위한 알고리즘을 살펴보겠습니다. 알고리즘 목록 번호 추가(l1, l2) Begin &n

    19. 목록에 있는 모든 회문 번호?

      여기서 우리는 하나의 간단한 문제를 볼 것입니다. 주어진 목록에서 본질적으로 회문인 모든 숫자를 찾아야 합니다. 접근 방식은 간단합니다. 목록에서 각 숫자를 가져와 회문인지 확인하고 숫자를 인쇄하십시오. 알고리즘 getAllPalindrome(arr, n) Begin    for each element e in arr, do       if e is palindrome, then          print e      

    20. 길이가 n인 모든 가능한 이진수의 합은 양쪽 절반이 같습니까?

      여기서 우리는 각 절반의 합이 동일한 n비트(n은 사용자가 제공함)의 가능한 모든 이진수를 볼 수 있습니다. 예를 들어 숫자가 10001인 경우 10과 01은 합이 같고 반쪽이 다르기 때문에 동일합니다. 여기에서 해당 유형의 모든 숫자를 생성합니다. 알고리즘 genAllBinEqualSumHalf(n, 왼쪽, 오른쪽, 차이) 왼쪽과 오른쪽은 처음에 비어 있고 diff는 왼쪽과 오른쪽의 차이를 유지합니다. Begin    if n is 0, then       if diff is 0, t

    Total 1436 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:23/72  20-컴퓨터/Page Goto:1 17 18 19 20 21 22 23 24 25 26 27 28 29