ホームページ >バックエンド開発 >PHPチュートリアル >PHP と Python は Project Euler の質問 1 と 2 を実装します。

PHP と Python は Project Euler の質問 1 と 2 を実装します。

WBOY
WBOYオリジナル
2016-07-30 13:30:211058ブラウズ

最近Pythonを勉強し始めたので、Project Eulerを使って練習しました

問題1

3または5の倍数で10以下の自然数をすべて列挙すると、3、5、6、9が得られます。これらの倍数の合計は 23 です。

1000 未満の 3 または 5 の倍数の合計を求めます。

実行結果: 233168

PHP バージョン:

/**
 * @desc Project Euler 1
 * @Author tina
 * @Date 2015-08-27
 */
$sum = 0;
for($i=0; $i<1000; $i++){
    if(($i%3 == 0) || ($i%5 == 0)){
        $sum += $i;
    }
}
echo $sum;
python バージョン:

sum = 0
for i in range(1000):
    if((i%3 == 0) or (i%5 == 0)):
        sum += i
print sum

フィボナッチ数列の新しい各項は、前の 2 つの項を加算することによって生成されます。1 と 2 から始めると、最初の 10 項は次のようになります:

1、2、3、5、8、13、21、34、55。 , 89, ...

値が 400 万を超えないフィボナッチ数列の項を考慮して、偶数値の項の合計を求めます。

実行結果: 4613732


PHP バージョン:

/**
 * @desc : Project Euler 2
 * @Author : tina 
 * @Date : 2015-08-27
 */
$fab1 = 1;
$fab2 = 1;
$sum = 0;
do{
    $fab = $fab1+$fab2;
    $fab1 = $fab2;
    $fab2 = $fab;
    if($fab%2 == 0){
        $sum += $fab;
    }
}while($fab < 4000000);
echo $sum;

Python バージョン:

fab1 = 1
fab2 = 1
sum = 0
while True :
    fab = fab1+fab2
    fab1 = fab2
    fab2 = fab
    if(fab%2 == 0):
        sum += fab
    if(fab > 4000000) : break
print sum

実際、それは一般的に同じように感じます...しかし、いくつかの Python 入門を読んだ後、リスト、辞書、およびセットのデータ型が実際に複素数を処理できることが非常に強力であると感じます。 ! !楽しみにしています! (追記:Pythonを発明した偉人は数学出身だそうです、それも不思議ではありません、ルオさん!)


著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、PHP と Python でのプロジェクト オイラー 1 および 2 の質問の実装を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。