C++ 로 만들어본 다항식 덧셈#include #include using namespace std;#define MAX(a, b) (((a) > (b)) ? (a) : (b))#define MAX_Degree 101 //최대 항 개수// 다항식의 항typedef struct Term { int degree; // 계수 int exponent; // 지수} term;// 다항식 구조체typedef struct Polynomial { int numTerm; // 항의 개수 term term[MAX_Degree]; // 각 항을 저장할 배열} poly;// 다항식 출력 함수void printPoly(poly* p) { for (int i = 0; i numTerm;..
디버깅이란?디버깅은 소프트웨어 개발 과정에서 발생한 오류나 버그를 찾아 수정하는 작업을 의미합니다. 코드가 예상한 대로 동작하지 않거나 프로그램이 비정상적으로 종료될 때, 문제의 원인을 파악하고 수정하기 위해 디버깅을 수행합니다. 디버깅 과정은 일반적으로 다음과 같은 단계를 포함합니다:1. 오류 재현: 버그가 발생한 상황을 재현해 문제를 확인합니다.2. 원인 분석: 코드를 분석하여 오류의 근본 원인을 찾습니다.3. 수정: 문제를 해결할 수 있는 코드를 수정합니다.4. 검증: 수정한 코드가 정상적으로 동작하는지 확인합니다.디버깅 도구(디버거)를 사용하면 변수 값을 실시간으로 확인하거나 코드의 특정 지점에서 프로그램 실행을 멈추고 상태를 점검할 수 있어, 문제를 해결하는 데 도움이 됩니다. 디버깅 하는 방법..
문제어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다.자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오.입력첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다.출력첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 풀기 전 로직 생각수를 입력받고 for문으로 해당 수까지 반복하도록 반복문을 설정한다.점차 증가하는 i..
문제주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.풀기 전 로직 생각N을 입력받고 N만큼 입력받도록 반복문을 넣는다.입력 받을때마다 약수들의 합을 넣을 isper를 1로 초기화시킨 후 약수인지 판별하여 약수면 isper에 합해지도록 한다.isper이 1이거나 num이 1이 아니면 count를 1씩 증가시킨다. (isper이 1 그대로 나왔다는것은 약수가 없었기 때문)입력 반복문이 끝나면 count를 출력시킨다.코드#include using namespace std;int main() { int N; //어..
문제무한히 큰 배열에 다음과 같이 분수들이 적혀있다.이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.입력첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.출력첫째 줄에 분수를 출력한다.문제 풀기 전 로직생각x를 입력받고 그것이 지그재그 형태로 몇번재 라인인지 판단. 예를들어 2/1과1/2은 2번째라인, 3/1,2/2,1/3은 3번째라인x값이 line보다 작아질때까지 반복문을 돌리며 x를 line만큼 빼주고 line은 1씩 증가하며 반복그럼 라인과 x값이 재계산됨.이때 line이 짝수면 x값이 분모로, 홀수면 분..