Type
Dat = record
d: integer;
m: integer;
y: integer
end;
function jday(pd: Dat): longint;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает порядковый номер дня по Юлианскому календарю.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
c, ya: longint;
begin
with pd do
begin
if m > 2 then m := m - 3
else
begin
m := m + 9;
y := y - 1
end;
c := y div 100;
ya := y mod 100;
Result := ((146097 * c) div 4) + ((1461 * ya) div 4) +
((153 * m + 2) div 5) + d + 1721119
end;
end;
function jdate(j: longint): Dat;
// Алгоритм 199б
// "Переход от календарной даты к порядковому номеру дня и обратно"
// взят из сборника // "Библиотека алгоритмов 151б-200б", М.И.Агеев и др.,
// М.: Радио и связь, 1981
//
// Алгоритм возвращает дату григорианского календаря по
// порядковому номеру дня Юлианского календаря.
// Работает для дат, начиная с 01.01.4713 до н.э.
var
dd, mm, yy: integer;
begin
j := j - 1721119;
yy := (4 * j - 1) div 146097;
dd := (4 * j - 1 - 146097 * yy) div 4;
j := (4 * dd + 3) div 1461;
dd := (4 * dd + 7 - 1461 * j) div 4;
mm := (5 * dd - 3) div 153;
dd := (5 * dd + 2 - 153 * mm) div 5;
yy := 100 * yy + j;
if mm < 10 then mm := mm + 3
else begin mm := mm - 9; yy := yy + 1 end;
Result.d := dd;
Result.m := mm;
Result.y := yy
end;
var
d1,d2: Dat;
begin
Writeln('Введите дату рождения в формате <день месяц год>: ');
Read(d1.d, d1.m, d1.y);
d2:=jdate(jday(d1)+5000);
Writeln('5000 дней прожито ',d2.d,'.',d2.m,'.',d2.y)
end.
<em><u>Тестовое решение:</u></em>
Введите дату рождения в формате <день месяц год>:
9 10 1997
5000 дней прожито 18.6.2011
Ответ:
1)
#include <iostream>
using namespace std;
int main() {
int n,m;
int sum=0;
cout << "Enter number n: ";
cin >> n;
cout << "Enter number m: ";
cin >> m;
for (int i = n; i <= m; i++) {
if (i % 3 == 0) cout << i<<endl;
}
}
===================
2)
#include <iostream>
using namespace std;
int main() {
int n, m;
int sum = 0;
cout << "Enter number n: ";
cin >> n;
cout << "Enter number m: ";
cin >> m;
for (int i = n; i <= m; i++) {
if (i % 2 != 0) sum+=i;
}
cout << "Result: " << sum << endl;
}
===================
3)
#include <iostream>
using namespace std;
int main() {
long n,m, max=0;
cout << "Enter number: ";
cin >> n;
m = n;
for (int i = 10; n>0;) {
if (n % i > max)
max = n % i;
n = n / i;
}
cout << "Result: " << max;
}
Объяснение:
#include <iostream>
#include <cassert>
using namespace std;
void pie_price(int a, int b, int n)
{
assert((a >= 0) && (a <= 1000));
assert((b >= 0) && (b <= 99));
assert((n >= 1) && (n <= 1000));
double price = a * 1.0 + b / 100.0;
float res = price * n;
int kop = res * 100;
cout << "Rubles " << res << endl;
cout << "Kopeyks " << kop << endl;
}
int main()
{
int a, b, n;
cin >> a >> b >> n;
pie_price(a, b, n);
}
Сначала составляется таблица соответствия символов двоичному коду. Затем каждый символ текста кодируется своим кодом. Полученная последовательность двоичных чисел и есть закодированная текстовая информация