[백준/C++] 14730번. 謎紛芥索紀 (Small)

연성·2021년 9월 2일
0

코딩테스트

목록 보기
228/261

[백준/C++] 14730번. 謎紛芥索紀 (Small)

1. 문제

성민이는 이번 학기에 미적분학 과목을 수강하고 있다. 다항함수의 미분 단원 과제를 하던 도중 미분을 하기가 귀찮아진 성민이는 미분하려는 함수 f(x)가 주어지면, 미분 된 함수 f’(x)를 자동으로 구해주는 프로그램을 만들어서 계산을 줄일 생각을 하였다. 우리도 성민이가 원하는 프로그램을 한번 같이 만들어보도록 하자.

2. 입력

첫째 줄에는 항의 개수 N(1 ≤ N ≤ 100)이 주어진다.

둘째 줄부터 N개 줄에 걸쳐서 항의 계수 C(-100 ≤ C ≤ 100, C ≠ 0)와 항의 차수 K(0 ≤ K ≤ 1000)가 항의 차수가 큰 순서대로 주어진다. 항의 차수가 같은 항은 2개 이상 존재하지 않는다.

3. 출력

f’(1)의 값을 첫째 줄에 출력한다.

4. 풀이

  • f’(1) 값을 구하기 때문에 미분 후 계수가 어떻게 바뀌는지만 신경 쓰면 된다.
  • 다항 함수 f(x)를 미분한 계수는 (차수 X 계수)가 된다.
    • 차수는 1 줄어드는데 어차피 1 대입할거라 의미없다.
  • 그래서 처음 입력 받을 때 (차수 X 계수)를 결과에 더해주었다.
  • 결과를 출력해주었다.

5. 처음 코드와 달라진 점

  • 차수를 인덱스로 하는 배열을 만들어서 하려고 했는데 할 필요 없을 것 같아서 지웠다.

6. 코드

#include <iostream>
#include <algorithm>

using namespace std;

int n;

int main() {
  cin.tie(NULL);
  ios_base::sync_with_stdio(false);

  cin >> n;
  int result = 0;
  for (int i = 0; i < n; i++) {
    int coef, expo;
    cin >> coef >> expo;

    result += coef * expo;
  }

  cout << result;
}

0개의 댓글