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);
}
}