문제1
1-2+3-4+5-6+.......+99-.......의 n번째 항까지의 합계구하기
요구분석
1.자연수를 다룬다.
2.최종값 n을 입력받는다.
3.각항의 값이 1씩 증가하고, 각항마다 부호가 변한다.
해결방법
1.for문을 통하여 짝수일 경우 부호를 변경하여 계속 더해주는 방법
2.조건문을 사용하여 일정한 계산결과값을 통해 나온 규칙을 이용하여 입력받은 값을 바로 계산함. 1을제외한 홀수일 경우 입력받은값/2+1, 0을 제외한 짝수일 경우 입력받은값/-2
배경지식
각 항의 계산결과값을 통하여 규칙을 찾아낼 수 있음
알고리즘
해결방법2를통하는 방법 사용하였음
1.사용자로부터 n값을 입력받는다.
2.if문을 통하여 입력받은 값이 0,1인지 확인한다.
3.위의 값에 해당하지 않으면 홀수인지 짝수인지 구분한다.
4.홀수일 경우 입력받은 값에 2를 나눈후 1을 더하고, 짝수 일 경우 –2를 나눈다.
5.최종값을 출력한다.
소스코드
#include <stdio.h>
void main(){
int n,h;
printf("n값을 입력하시오 : ");
scanf("%d",&n);
if(n==1)
h=1;
else if(n==0)
h=0;
else if(n%2==0)
h=n/-2;
else
h=n/2+1;
printf("계산 결과값 : %d\n",h); //결과 출력
}
실행결과
문제2
1+2+4+7+11+......의 n번째 항까지의 합계
요구분석
1.자연수를 다룬다
2.각 항이 일정한 규칙에 의해 증가한다
3.최종 합의 값 n입력을 받음
해결방법
for문을 통하여 I+1번째 항은 I항 + 입력받은 값-1이 되어야 하고, 각 항들을 모두 더한다
배경지식
각 항의 순차적인 규칙을 발견할 수 있음
알고리즘
1.사용자로부터 n값을 입력받는다
2.for문을 통하여 입력받은 값까지의 각 항을 구하는 동시에 sum을 통해 n값까지 각 항이 더해진다.
3.최종 값을 출력한다.
소스코드
#include <stdio.h>
void main(){
int i,j=1,sum=0,n;
printf("값을 입력하시오 : ");
scanf("%d",&n);
for(i = 0; i < n; i++){
j=j+i;
sum=sum+j;
}
printf("결과값 : %d\n", sum);
}
실행결과
'개발자 > C' 카테고리의 다른 글
C언어 소수놀이, 소수구하기 (0) | 2015.09.29 |
---|---|
C언어 나무심기 (1) | 2015.09.29 |
C언어 공약수, 최대공약수 출력 (0) | 2015.09.29 |
C언어 제곱수 출력 (0) | 2015.09.29 |
C언어 삼각형의 종류 판별 (0) | 2015.09.29 |