[C언어] 백준 4948 : 베르트랑 공준


생각의 흐름
- 
소수 구하는건 이전에 다 해놨었고 입력값이 a면 2a만큼 범위를 지정하면 될 것 같다. 
- 
0으로 종료하는건 간단하니 마지막에 넣어주자 
- 
갯수를 구하는거니까 count를 사용해주자. 
- 
주의해야할건 n보다 크고 2n보다 작다는거다. <=가 아니고 < 이거다. 끝 
내가 푼 코드
#include <stdio.h>
int ft_is_prime(int nb)
{
	int i;
	i = 2;
	if (nb < 2)
		return (0);
	while (i <= (nb / i))
	{
		if (nb % i == 0)
			return (0);
		i++;
	}
	return (1);
}
int main()
{
	int a;
	while (1) // 무한루프로 a == 0일때까지 돌아감
	{
		scanf("%d", &a);
		int count = 0;
		if (a == 0) // 종료조건
			return 0;
		int b = a + a; // 범위설정
		while (a < b)
		{
			a++;
			if (ft_is_prime(a) == 1)
				count++; // print대신 소수면 count++로 개수세준다.
		}
		printf("%d\n", count);
	}
}isprime 저번에 쓴거 고대로 가져왔다. 유형을 익혀가니까 문제가 점점 보인다.
Author And Source
이 문제에 관하여([C언어] 백준 4948 : 베르트랑 공준), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimmainsain/C언어-백준-4948-베르트랑-공준저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)