Thursday, April 19, 2007
C언어] 1에서 100까지 더하기 소스 + 공식; for Add
for문으로 루프를 돌려서, 1~100까지의 숫자를 더하는 소스입니다. 즉, 1+2+3+ ... +100 이것을 구하는 것입니다. 또한
n * (n + 1) / 2
라는 공식을 사용하면 한꺼번에 구할 수 있습니다. 이것은,
이라는 공식입니다.
예를 들어, 1~100까지의 합계는
이렇게 구합니다. 즉, 100 곱하기 101 을 하여 "10100" 이라는 값을 구한 후에, 그 10100 이라는 값을 2로 나누어 주면 5050 이라는 답이 나옵니다.
소스 파일명: example.cpp
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
▶▶ C언어] 합계 구하기+시그마(Sum) 공식; 특정 범위 정수 숫자에서
n * (n + 1) / 2
라는 공식을 사용하면 한꺼번에 구할 수 있습니다. 이것은,
n(n + 1)
--------
2
--------
2
이라는 공식입니다.
예를 들어, 1~100까지의 합계는
100(100 + 1)
------------
2
------------
2
이렇게 구합니다. 즉, 100 곱하기 101 을 하여 "10100" 이라는 값을 구한 후에, 그 10100 이라는 값을 2로 나누어 주면 5050 이라는 답이 나옵니다.
1에서 10까지, 1부터 100까지 합계 구하기 예제
소스 파일명: example.cpp
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#include <stdio.h>
int main(void) {
int sum; // 합계를 넣을 변수 정의
int n; // 공식에 넣을 최대값
//////////////////////////////////////////
// 1~10까지 더하기
//////////////////////////////////////////
sum = 0; // 변수 초기화
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("%d\n", sum); // 출력 결과: 55
// 공식으로 구하기
n = 10;
printf("%d\n", n * (n + 1) / 2); // 55
//////////////////////////////////////////
// 1~100까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("%d\n", sum); // 출력 결과: 5050
// 공식으로 구하기
n = 100;
printf("%d\n", n * (n + 1) / 2); // 5050
//////////////////////////////////////////
// 1~1000까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
// for문 속의 실행문이 1줄일 때는 중괄호({}) 생략 가능
for (int i = 1; i <= 1000; i++)
sum += i;
printf("%d\n", sum); // 출력 결과: 500500
// 공식으로 구하기
n = 1000;
printf("%d\n", n * (n + 1) / 2); // 500500
//////////////////////////////////////////
// 1~10000까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
for (int i = 1; i <= 10000; i++)
sum += i;
printf("%d\n", sum); // 출력 결과: 50005000
// 공식으로 구하기
n = 10000;
printf("%d\n", n * (n + 1) / 2); // 50005000
return 0;
}
int main(void) {
int sum; // 합계를 넣을 변수 정의
int n; // 공식에 넣을 최대값
//////////////////////////////////////////
// 1~10까지 더하기
//////////////////////////////////////////
sum = 0; // 변수 초기화
for (int i = 1; i <= 10; i++) {
sum += i;
}
printf("%d\n", sum); // 출력 결과: 55
// 공식으로 구하기
n = 10;
printf("%d\n", n * (n + 1) / 2); // 55
//////////////////////////////////////////
// 1~100까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("%d\n", sum); // 출력 결과: 5050
// 공식으로 구하기
n = 100;
printf("%d\n", n * (n + 1) / 2); // 5050
//////////////////////////////////////////
// 1~1000까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
// for문 속의 실행문이 1줄일 때는 중괄호({}) 생략 가능
for (int i = 1; i <= 1000; i++)
sum += i;
printf("%d\n", sum); // 출력 결과: 500500
// 공식으로 구하기
n = 1000;
printf("%d\n", n * (n + 1) / 2); // 500500
//////////////////////////////////////////
// 1~10000까지 더하기
//////////////////////////////////////////
sum = 0; // 초기화
for (int i = 1; i <= 10000; i++)
sum += i;
printf("%d\n", sum); // 출력 결과: 50005000
// 공식으로 구하기
n = 10000;
printf("%d\n", n * (n + 1) / 2); // 50005000
return 0;
}
▶▶ C언어] 합계 구하기+시그마(Sum) 공식; 특정 범위 정수 숫자에서
tag: cpp
C언어 | C/C++ (Visual C++)
tag: study
학습 | Study
<< Home