분리 소수 와 (온라인 작업)
소수 분할
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 27221 Accepted Submission(s): 11915
Problem Description
하나의 우 수 를 두 개의 서로 다른 소수 의 합 으로 나 누 면 몇 가지 철거 법 이 있 습 니까?
Input
일부 정 수 를 포함 하 는 짝수 를 입력 하 십시오. 그 값 은 10000 을 초과 하지 않 고 개 수 는 500 을 초과 하지 않 으 며 0 을 만나면 끝 납 니 다.
Output
모든 짝수 에 대응 하여 출력 은 서로 다른 소수 로 나 누 어 지고 모든 결 과 는 한 줄 을 차지한다.
Sample Input
30 26 0
Sample Output
3 2
Source
2007 성 경기 합숙 훈련 팀 연습 경기 (2)
문제 풀이: 처음에 치 명 적 인 실 수 를 했 는데 이 문제 가 특별히 제시 한 데이터 범 위 를 잘 보지 못 했 습 니 다. 시 계 를 치면 반드시 시간 을 초과 할 수 있 기 때 문 입 니까?그래서 온라인 으로 조작 하면 됩 니 다. 체 법 으로 소 수 를 구하 세 요.
1 #include<cstdio>
2 #include<cstring>
3 /*int IsPrime(int n)
4 {
5 int i;
6 for (i=2; i<=sqrt(n); i++)
7 {
8 if (n % i == 0)
9 return 0;
10 }
11 return 1;
12 }
13 */
14 #define N 10010
15 bool b[N];
16 void pri()
17 {
18 memset(b,0,sizeof(b));
19 for(int i = 2 ;i < N ;i++)
20 {
21 if(b[i]==0){
22 for(int j = i*i ; j < N ;j+=i)
23 b[j] = 1;
24 }
25 }
26 }
27 int main()
28 {
29 int n, i, cnt;
30 pri();
31 while (scanf("%d", &n) && n)
32 {
33 cnt = 0;
34 for (i=3; i<n/2; i+=2)
35 {// , n/2 , n/2
36 if ( b[i]==0 && b[n-i]==0 )
37 cnt++;
38 }
39 printf("%d
", cnt);
40 }
41 return 0;
42 }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.