Ni Wendiは、Blue Bridge Cup 2021 Winter Holidayを学ぶために同行します。1日1つの質問:1.24(2019州大会グループA質問2)

2021年の冬休みの間、毎日1つの質問があり、2017年から2019年までの地方大会の本当の質問があります。この記事の内容は、Ni Wendi(華東理工大学コンピューター学部、クラス192)とLuoYongjunによって提供されました。1日に1つの質問があります。ブルーブリッジカップのコラムに従ってくださいhttps //blog.csdn.net/weixin_43914593/category_10721247.html

各質問は、C ++、Java、Pythonの3つの言語でコードを提供します。

2019州大会グループAの質問2、質問へのリンク:
シーケンス評価 http://oj.ecustacm.cn/problem.php?id=1453

1.タイトルの説明

空欄に記入してください。


項目4から始まる1、1、1、3、5、9、17、…のシーケンスが与えられると、各項目は最初の3つの項目の合計になります。
アイテム20190324の下4桁を検索します。


2.問題解決

  NiWendiは「何もない」と言った。

3.Pythonコード

  再び数字!
  Pythonコードの実行には数秒かかりますが、次のC ++およびJavaコードよりもはるかに遅いのはなぜですか?コードはほとんど同じです。

a,b,c = 1,1,1
for i in range(4,20190325):
    y=(a+b+c)%10000
    a=b
    b=c
    c=y
print(y)

4. C ++コード

   実行時間は200msです。

#include <bits/stdc++.h>
using namespace std;
int main(){
    
    
   int a=1,b=1,c=1,y;
   for(int i=4;i<=20190324;i++){
    
    
       y=(a+b+c)%10000;
       a=b; b=c;c=y;
   }
   cout<<y;
}

5.Javaコード

   実行時間は200msです。

public class Main {
    
    
    public static void main(String[] args) {
    
    
        int a=1, b=1, c=1, y=0;
        for(int i=4;i<=20190324;i++) {
    
    
            y=(a+b+c)%10000;
            a=b; b=c; c=y;
        }
        System.out.println(y);
    }
}

おすすめ

転載: blog.csdn.net/weixin_43914593/article/details/112979520