C_C++

(C언어) 1부터 n까지의 곱

고니자니 2023. 6. 14. 18:26
반응형

1부터 n까지의 곱을 C언어의 for, while 문으로 작성한 코드입니다.

곱을 저장하는 변수는 초기값을 0이 아닌 1을 할당해야 하는 것에 주의하여야 합니다.

#define _CRT_SECURE_NO_WARNINGS		// Visual Studio
#include <stdio.h>
int main()
{
	int i, n, m = 1;
	scanf("%d", &n);

	for (i = 1; i <= n; i++)
		m *= i;

	printf("1부터 %d까지의 곱: %d\n", n, m);

	return 0;
}

1부터 n까지의 곱

 조금 더 큰 값을 입력할 경우에는 곱을 저장하는 변수를 double 형식으로 선언하면 좋겠습니다.

#define _CRT_SECURE_NO_WARNINGS		// Visual Studio
#include <stdio.h>
int main()
{
	int i, n;
	double m = 1;

	scanf("%d", &n);

	for (i = 1; i <= n; i++)
		m *= i;

	printf("1부터 %d까지의 곱: %.0f\n", n, m);

	return 0;
}

1부터 n까지의 곱

double 형식의 정밀도는 15자리 정도이므로, 15자리가 넘는 결과값은 값이 맞는지 확인할 수 없습니다.

아래의 코드는 for문을 while 문으로 표현한 것입니다.

#define _CRT_SECURE_NO_WARNINGS		// Visual Studio
#include <stdio.h>
int main()
{
	int i, n;
	double m = 1;

	scanf("%d", &n);

	i = 0;
	while (i<10)
	{
		i++;
		m *= i;
	}

	printf("1부터 %d까지의 곱: %.0f\n", n, m);

	return 0;
}
반응형