Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SRGAN
- 피아노커버
- 재귀호출
- magnetic field
- 서현우의 C프로그래밍 정복
- 피아노 커버
- piano cover
- C
- pdf복붙
- C언어
- 자기장
- 수소
- 조립식 컴퓨터
- 너의 이름은 ost
- mri
- 구글번역
- 함수 원형
- Python
- pdf 복붙
- 논문 구글번역
- 유재하
- 원소
- 논문 파파고
- super resolution
- 씀
- function
- 중성자
- 이것이 C언어다
- python piano
- pdf 파파고
Archives
- Today
- Total
로봇이 되고픈 부엉이
(C 언어) 최대 부분합 구하기 본문
728x90
반응형
문제는 다음과 같다.
"
다음 조건을 만족하는 프로그램을 작성하라.
1. 입력으로 2개의 정수를 받는다.
2. 입력받은 두 수 A와 B는 수열 X[A]와 Y[B]에 인수이다.
3. X[A]와 Y[B]를 합하여 수열 S[n]을 만든다.
4. 수열 S[n]에 대하여 최대 연속 부분합을 구한다.
5. 최대 연속 부분합을 만드는 수열 S[n]의 시작 인덱스와 끝 인덱스를 구한다.
"
내가 작성한 코드는 다음과 같다.
#include<stdio.h>
#include<math.h>
int main() {
printf("두 정수 A,B 입력: ");
int A = 0, B = 0;
scanf("%d %d", &A, &B);
double x[20] = { 0 }, y[20] = { 0 }, s[20] = {0};
printf(" x[n] y[n] s[n]");
for (int n = 0; n < 20; n++) {
x[n] = pow((-1), n)*(exp(n - A) + 70);
y[n] = 4000 * cos(2 * 3.1415922653 * (n - 1) / B);
s[n] = x[n] + y[n];
printf("\n");
printf("n= %2d %15.3lf %15.3lf %15.3lf\n", n, x[n], y[n], s[n]);
}
double max=0.0, sum=0.0;
int si, sj;
for (int i = 0; i < 18; i++) {
for (int j = i+2; j < 20; j++) {
sum = 0.0;
for (int k = i; k < j; k++) {
sum += s[k];
}
if (max < sum) {
max = sum;
si = i;
sj = j-1;
}
}
}
printf("\n\n최대 연속 부분합: %.3lf from s[%d] to s[%d]\n\n", max, si, sj);
return 0;
}
728x90
반응형
'대학생의 그쩍거림 > C 언어' 카테고리의 다른 글
(C 언어) 압축문자열 (0) | 2019.05.27 |
---|---|
(C 언어) 동전던지기 게임 (0) | 2019.05.17 |
(C 언어) Factorial(재귀호출 사용) 팩토리얼 n! 구하기 (0) | 2019.04.21 |
(C 언어) Fibonacci(재귀호출 사용) 피보나치 수열 (0) | 2019.04.21 |
(C 언어) 로또 프로그램 (0) | 2019.04.21 |