倪文迪陪你学藍橋杯2021冬休み毎日一題:1.14日(2018省試合A組第2題)
9656 ワード
2021年冬休み毎日1題、2017~2019年の省試合本題.本文の内容は倪文迪(華東理工大学コンピュータ学部ソフトウェア192クラス)と羅勇軍先生から提供された.次の毎日の問題は、新しいブログを送ります.毎日ブログのブルーブリッジカップのコラムを見てください.https://blog.csdn.net/weixin_43914593/category_10721247.html
各問題にはC++、Java、Pythonの3言語のコードが提供されている.
文書ディレクトリ1、題名説明 2、題解 2.1 excel
3、C++コード 4、Javaコード 5、Pythonコード 2018省試合A組第2題「月曜日」、タイトルリンク:http://oj.ecustacm.cn/problem.php?id=1360
1、テーマの説明
20世紀全体(1901年1月1日から2000年12月31日まで)、全部で何週間の月曜日がありますか?
2、問題解
問題を空欄にして、点数をつける. 倪文迪氏は「問題の要求の合計日数を計算し、カレンダーをめくって2000年12月31日が日曜日であることを見て、総日数sumを7とmod 7で割った結果から判断すればいい」と話した.パソコンのデスクトップの右下に日付をクリックすると、曜日を調べることができます.時間範囲は100年で、1921-2021年です.
2.1 excel
多くの先生と同級生は、パソコンにexcelがあれば、それを使ってもいいと言っています.1つの格子入力日1901年1月1日、別の格子入力2000年12月31日、その後、2つの格子は36524日に減少し、7で割って5217.7週間となった.2000年12月31日は日曜日で、説明の答えは5217です.
3、C++コード
4、Javaコード
5、Pythonコード
Python大法好!
しかし、羅先生はPythonの教材をめくったばかりで、前が無駄だったことに気づいた.直接ハード:
各問題にはC++、Java、Pythonの3言語のコードが提供されている.
文書ディレクトリ
1、テーマの説明
20世紀全体(1901年1月1日から2000年12月31日まで)、全部で何週間の月曜日がありますか?
2、問題解
問題を空欄にして、点数をつける. 倪文迪氏は「問題の要求の合計日数を計算し、カレンダーをめくって2000年12月31日が日曜日であることを見て、総日数sumを7とmod 7で割った結果から判断すればいい」と話した.パソコンのデスクトップの右下に日付をクリックすると、曜日を調べることができます.時間範囲は100年で、1921-2021年です.
2.1 excel
多くの先生と同級生は、パソコンにexcelがあれば、それを使ってもいいと言っています.1つの格子入力日1901年1月1日、別の格子入力2000年12月31日、その後、2つの格子は36524日に減少し、7で割って5217.7週間となった.2000年12月31日は日曜日で、説明の答えは5217です.
3、C++コード
#include
using namespace std;
int main(){
int sum = 0;
for(int i = 1901 ; i <= 2000 ; i++){
if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) //
sum += 366;
else
sum += 365;
}
//cout << sum % 7 << endl; // 6 , 。2000 12.31
cout << sum / 7 << endl; // 5217
return 0;
}
4、Javaコード
public class Main {
public static void main(String[] args) {
int sum = 0;
for (int i = 1901; i <=2000; i++) {
if ((i%4==0 && i%100!=0) || i%400==0)
sum += 366;
else
sum += 365;
}
System.out.println(sum/7);
}
}
5、Pythonコード
Python大法好!
sum = 0
for i in range(1901,2001):
if (i%4==0 and i%100!=0) or (i%400==0):
sum += 366
else:
sum += 365
#print(sum % 7) #
print(sum//7)
しかし、羅先生はPythonの教材をめくったばかりで、前が無駄だったことに気づいた.直接ハード:
from datetime import *
dt1 = datetime(1901,1,1)
dt2 = datetime(2000,12,31)
td = dt2- dt1
print(td.days//7)