В Пистоне существует отдельный тип данных для хранения целых чисел. Для переменных этого типа определены операции +, -, * и **. Операция деления / для целых чисел возвращает вещественное число. Также функция возведения в степень возвращает значение вещественного типа, если показатель степени — отрицательное число. Но есть и специальная операция целочисленного деления, выполняющегося с отбрасыванием дробной части, которая обозначается //. Она возвращает целое число: целую часть частного. Другая близкая ей операция − это операция взятия остатка от деления, обозначаемая %. А каким словом они обозначаются - смотри в документации по языку.
Объяснение:
Из большого с 10 литрами наливаем в маленькое 4л, потом переливаем из маленького в среднее.
Оставшиеся 6 литров из А снова наливаем в маленькое и снова переливаем в среднее, туда войдет еще 3 литра. Имеем 2 литра в большом ведре, 7 в среднем и 1 в маленьком.
7 из среднего выливаем в большое. В большом 9 литров, в маленьком 1 литр.
1 литр из маленького наливаем в среднее. 4 литра из большого с 9 литрами наливаем в маленькое. В большом остается 5 литров. В среднем 1 и в маленьком 4. Маленькое выливаем в среднее. там тоже 5 литров.
#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;
}