задачка_в_С++
Добавлено: 08 дек 2007, 23:44
помогите решитьhttp://frbb.ru/zadachka.zip
Код: Выделить всё
function IsLeapYear(Year : Integer) : Boolean;
{-Return True if Year is a leap year}
begin
IsLeapYear := (Year mod 4 = 0) and (Year mod 4000 <> 0) and
((Year mod 100 <> 0) or (Year mod 400 = 0));
end;
Код: Выделить всё
bool IsLeapYear (int iYear)
/* -Return TRUE if iYear is a leap year */
{
return (bool)
(((iYear & 0x03)==0) &&
((iYear % 4000)!=0) &&
( ((iYear % 100)!=0) || ((iYear % 400)==0) ) );
}; /* IsLeapYear */
Код: Выделить всё
function IsLeapYear(Year : Integer) : Boolean;
{-Return True if Year is a leap year}
begin
IsLeapYear := (Year mod 4 = 0) and (Year mod 4000 <> 0) and
((Year mod 100 <> 0) or (Year mod 400 = 0));
end;
Код: Выделить всё
bool IsLeapYear (int iYear)
/* -Return TRUE if iYear is a leap year */
{
return (bool)
(((iYear & 0x03)==0) &&
((iYear % 4000)!=0) &&
( ((iYear % 100)!=0) || ((iYear % 400)==0) ) );
}; /* IsLeapYear */
Код: Выделить всё
bool IsLeapYear (int iYear)
{
return ((iYear%4) == 0);
}
Код: Выделить всё
bool IsLeapYear (int iYear)
{
return ((iYear&3) == 0);
}
судя по этому коду 4000 год не будет високосным. Почему? К тому же все годы, кратные 100 и не кратные 400, тоже не были и не будут високосными. Чушь полная!return (bool)
(((iYear & 0x03)==0) &&
((iYear % 4000)!=0) &&
( ((iYear % 100)!=0) || ((iYear % 400)==0) ) );
Это не чушь полная, это так и есть. 1700, 1800, 1900 года в Григорианском календаре не были високосными. И 2100 не будет. Странно, если Вы это впервые слышите.WinMain писал(а):К тому же все годы, кратные 100 и не кратные 400, тоже не были и не будут високосными. Чушь полная!
Видимо, это еще более тонкая корректировка. Ведь Земля совершает оборот вокруг Солнца не за 365 и 1/4 суток, а чуть меньше. Поэтому разница и накапливается.WinMain писал(а):судя по этому коду 4000 год не будет високосным. Почему?
Это не чушь полная, это "так и есть на самом деле" (c). 1700, 1800, 1900 года в Григорианском календаре не были високосными. И 2100 не будет. Странно, если Вы это впервые слышите.WinMain писал(а):К тому же все годы, кратные 100 и не кратные 400, тоже не были и не будут високосными. Чушь полная!
Видимо, это еще более тонкая корректировка. Ведь Земля совершает оборот вокруг Солнца не за 365 и 1/4 суток, а чуть меньше. Поэтому разница и накапливается.WinMain писал(а):судя по этому коду 4000 год не будет високосным. Почему?