#include <iostream>
#include <vector>
using namespace std;
bool isLeap(int y){
return (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0));
}
signed main(){
string s, cur;
cin >> s;
vector<int> d;
for(int i = 0; i < s.length(); i++){
if(s[i] == '.'){
d.push_back(stoi(cur));
cur.clear();
}
else
cur += s[i];
}
d.push_back(stoi(cur));
int k = d[0];
d[1]--;
while(d[1] > 0){
if(d[1] == 2) k += 28 + isLeap(d[2]);
else if((d[1] < 8 && d[1] % 2 == 1) || (d[1] >= 8 && d[1] % 2 == 0)) k += 31;
else k += 30;
d[1]--;
}
cout << (365 + isLeap(d[2])) - k + 1;
}
1. У задачах, які передбачають виконання альтернативних дій, використовують оператор повного розгалуження. Для запису оператора повного розгалуження додатково використовують службове слово
else:
if <логічний вираз>:
блок команд 1
else:
блок команд 2
2. Наведіть приклади, коли у програмі варто застосовувати оператор неповного розгалуження.
Складіть програму мовою Python, у якій із двох введених цілих чисел А і В (<100) виводиться найбільше з них.
3. Як мовою програмування Python реалізувати вкладені розгалуження?
Якщо є потреба врахувати значення декількох логічних виразів, то використовують вкладені розгалуження:
if <логічний вираз1>:
блок команд 1
elif <логічний вираз2>:
блок команд 2
...
elif <логічний вираз n>:
блок команд n
else:
<блок команд інакше>
344 = 110202 (3)
344 = 11120 (4)
344 = 2334 (5)
344 = 1332 (6)
344 = 1001 (7)
344 = 530 (8)
344 = 422 (9)
344 = 344 (10)
344 = 293 (11)
344 = 248 (12)
344 = 206 (13)
344 = 1a8 (14)
344 = 17e (15)
344 = 158 (16)
344 = 134 (17)
344 = 112 (18)
344 = i2 (19)
344 = h4 (20)
344 = g8 (21)
344 = fe (22)
344 = em (23)
344 = e8 (24)
344 = dj (25)
344 = d6 (26)
344 = ck (27)
344 = c8 (28)
344 = bp (29)
344 = be (30)
344 = b3 (31)
344 = ao (32)
344 = ae (33)
344 = a4 (34)
344 = 9t (35)
344 = 9k (36)