1. 程式人生 > >7-6 驗證“哥德巴赫猜想”(20 分)

7-6 驗證“哥德巴赫猜想”(20 分)

一、題目

這裡寫圖片描述

二、個人理解

此題本質上就是考素數判斷。

思想很簡單,但是最大數會執行超時。這裡介紹一種簡單的素數,即只對奇數進行判斷,並對數進行一次開方。

在此我希望大家即使不掌握高深的素數判斷演算法,也應該掌握這個簡單又實用的演算法。

C語言:

#include <stdio.h>

int is_prime(int n)
{
    if (n < 2) {
        return 0;
    }
    if (n == 2 ) {
        return 1;
    }
    if (n % 2 == 0) {
        return
0; } for (int i = 3; i * i <= n; i += 2) { if (n % i == 0) { return 0; } } return 1; } int main() { int n; scanf("%d", &n); for (int i = 2; i < n ; i ++) { if (is_prime(i) && is_prime(n - i)) { printf("%d = %d
+ %d"
, n, i, n - i); break; }