C_C++

(기초 알고리즘) 1/1 + 1/2 + 1/3 + ... + 1/100 = ?

고니자니 2022. 11. 4. 20:47
반응형

#수열 #분수 #5.187378

 

 

C언어 코드

#include<stdio.h>
int main()
{
	int i;
	double sum = 0;

	for (i = 1; i <= 100; i++)
		sum += (double)1 / i;           
	printf("%f\n", sum);

	return 0;
}

(Output)

5.187378

(중요) 

sum += 1 / i; 
위와 같이 연산하면 안됩니다.

i값도 정수이고, 1도 정수이기 때문에 나문 결과는 소수가 아니라 정수이므로 언제나 결과가 0이 됩니다.

 

1 / 1 →→ 0

1 / 2 →→ 0

1 / 3 →→ 0

 

sum += (double) 1 / i;
728x90
반응형