문제
민건이는 수학 수업시간동안 재밌는 방법으로 수학을 연습하고 있다.
먼저 민건이는 정수 수열 A를 작성했다.
그리고 나서 그 아래에 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다.
예를 들어 , 만약 수열 A가 1, 3, 2, 6, 8 이라면 수열 B는 1/1, (1+3)/2 , (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5 즉, 1, 2, 2, 3, 4 가 된다.
수열 B가 주어졌을 때 수열 A를 구하는 프로그램을 작성하시오.
입력
첫째줄에 수열 B의 길이를 나타내는 N이 주어진다.(1 <= N <= 100)
두번째 줄에 수열 B를 구성하는 N개의 요소가 주어진다. Bi (1 <= Bi <= 10^9)
출력
첫째 줄에 수열 A를 이루는 N개의 정수를 출력해라 (1 <= Ai <= 10^9)
NOTE : 수열 A의 요소들은 정수이다.
예제 입력
1
2
예제 출력
2
예제 입력
4
3 2 3 5
예제 출력
3 1 5 11
예제 입력
5
1 2 2 3 4
예제 출력
1 3 2 6 8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
int arr[n];
int arr2[n];
for(int i=0; i<n; i++){
scanf("%d",&arr[i]);
if(i==0){
arr2[i] = arr[i];
}
}
for(int i=0; i<n; i++){
if(i!=0){
arr[i]*=i+1;
for(int j=0; j<i; j++){
arr[i]-=arr2[j];
}
}
arr2[i] = arr[i];
}
for(int i=0; i<n; i++){
printf("%d ",arr[i]);
}
return 0;
}
|
'[C++] 알고리즘 교육 > 5. 기본정렬' 카테고리의 다른 글
[알고리즘 5.3.6] 기본정렬 - combinationpascal (0) | 2019.04.25 |
---|---|
[알고리즘 5.3.5] 기본정렬 - sequencesum (0) | 2019.04.25 |
[알고리즘 5.3.3] 기본정렬 - fibonacci (0) | 2019.04.25 |
[알고리즘 5.3.2] 기본정렬 - beehive (0) | 2019.04.25 |
[알고리즘 5.3.1] 기본정렬 - nextnum (0) | 2019.04.25 |
댓글