ヒマトーーーーーク
地獄みたことねーだろ!!コラ みなさん自分の人生にドロップアウトしてください
[29] [28] [27] [26] [25] [24] [23] [22] [21] [20] [19]
saaaaa
みなさん
夏休み二日目です
ゴールデンバッハの予想だってあたまがおかしくなりそうだ・・・とゆうことでじゃ さようなら・・・・
夏休み二日目です
ゴールデンバッハの予想だってあたまがおかしくなりそうだ・・・とゆうことでじゃ さようなら・・・・
#include <stdio.h> #include <stdlib.h> #include <limits.h> int isprime( unsigned long long n ); int main( int ac, char *av[] ) { unsigned long long n, min_n, max_n, m1, m2; /* コマンドラインから探索範囲を決定する */ if( ac < 3 ) return; min_n = strtouq( av[1], NULL, 10 ); min_n = min_n < 6 ? 6 : min_n; min_n = min_n % 2 == 1 ? min_n + 1 : min_n; max_n = strtouq( av[2], NULL, 10 ); max_n = max_n % 2 == 1 ? max_n + 1 : max_n; /* 探索範囲の数を調べる */ for( n = min_n; n <= max_n; n += 2 ) { /* 足してnになる整数組(m1,m2)が共に素数か調べる */ for( m1 = 3, m2 = n - 3; m1 <= m2; m1 += 2, m2 -= 2 ) { if( isprime( m1 ) && isprime( m2 ) ) { printf( "%qu = %qu + %qu\n", n, m1, m2 ); break; } } if( m1 > m2 ) printf( "%qu NG\n", n ); } } int isprime( unsigned long long n ) { unsigned long long i, n2, pn2; /* 1は素数ではない */ if( n == 1 ) return( 0 ); /* 2以外で2で割り切れたら合成数 */ if( n != 2 && n % 2 == 0 ) return( 0 ); /* sqrt(n)以上の出来るだけ小さい値を求める */ pn2 = n2 = n; while( n2 * n2 > n || n2 * n2 < n2 ) { pn2 = n2; n2 /= 2; } if( pn2 >= n ) n2 = n - 1; else n2 = pn2; /* n2以下の奇数での剰余が0かどうか調べる */ for( i = 3; i <= n2; i += 2 ) { if( n % i == 0 ) return( 0 ); } /* 素数であった */ return( 1 ); }
PR
この記事にコメントする
カレンダー
03 | 2025/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
カウンター
おれの好きな曲
最新TB
プロフィール
HN:
わかめ王子
年齢:
31
性別:
男性
誕生日:
1993/10/13
職業:
中学での
趣味:
いろいろ
自己紹介:
日々のこととかをのせていきたいです
ブログ内検索
アクセス解析
アクセス解析