Книжка містить 150 сторінок, на кожній сторінці - 40 рядків, у кожному рядку 60 символів (включаючи пропуски). Знайдіть довжину двійкового коду тексту книжки, якщо для кодування кожного символу використано 8 біт.
В неделе семь дней, поэтому решение выполняется на основе нахождения остатка целочисленного деления от номера дня на 7. Такой остаток находится в пределах от 0 до 6, а для нашей нумерации нужны значения от 1 до 7, поэтому полученный остаток будем увеличивать на единицу. Если 1 января вторник, то есть день недели с номером 2, то первым понедельником будет 7 января, вторым 14 января и т.д. 1 января (k=1) при делении на 7 даст в остатке 1 и при сдвиге остатка на 1 (см. выше), получим 2 (вторник). 7 января даст остаток 0 и после сдвига получим 1 (понедельник), что и требовалось.
1. Современное короткое, эффективное, но требующее определенных знаний решение
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018 Внимание! Если программа не работает, обновите версию!
begin var d:='Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'.ToWords; Writeln(d[ReadInteger('Введите номер дня') mod 7]) end.
Примеры Введите номер дня 215 Суббота
Введите номер дня 14 Понедельник
2. Более близкое к приведенному выше алгоритму решение
begin var n:=ReadInteger('Введите номер дня'); n:=n mod 7+1; case n of 0:Writeln('Воскресенье'); 1:Writeln('Понедельник'); 2:Writeln('Вторник'); 3:Writeln('Среда'); 4:Writeln('Четверг'); 5:Writeln('Пятница'); 6:Writeln('Суббота') end end.
3. Типовое школьное решение
var n:integer; begin Write('Введите номер дня'); Read(n); n:=n mod 7+1; case n of 0:Writeln('Воскресенье'); 1:Writeln('Понедельник'); 2:Writeln('Вторник'); 3:Writeln('Среда'); 4:Writeln('Четверг'); 5:Writeln('Пятница'); 6:Writeln('Суббота') end end.
1. Современное короткое, эффективное, но требующее определенных знаний решение
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var d:='Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье'.ToWords;
Writeln(d[ReadInteger('Введите номер дня') mod 7])
end.
Примеры
Введите номер дня 215
Суббота
Введите номер дня 14
Понедельник
2. Более близкое к приведенному выше алгоритму решение
begin
var n:=ReadInteger('Введите номер дня');
n:=n mod 7+1;
case n of
0:Writeln('Воскресенье');
1:Writeln('Понедельник');
2:Writeln('Вторник');
3:Writeln('Среда');
4:Writeln('Четверг');
5:Writeln('Пятница');
6:Writeln('Суббота')
end
end.
3. Типовое школьное решение
var
n:integer;
begin
Write('Введите номер дня');
Read(n);
n:=n mod 7+1;
case n of
0:Writeln('Воскресенье');
1:Writeln('Понедельник');
2:Writeln('Вторник');
3:Writeln('Среда');
4:Writeln('Четверг');
5:Writeln('Пятница');
6:Writeln('Суббота')
end
end.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<windows.h>
#include<iostream.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
int main()
{
SetConsoleOutputCP(1251);
char text[1000],p,r[]=" ,._-!?\"';:()";
char T[][33] =
{
{'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'},
{'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я'}
};
int i,q,j;
char d,sLen;
cout<<"Введите строку:"<<endl;
/*gets(s);
d=strlen(s);
p=s[1];
for(i=2;i<d;i++)
if(strrchr(s[i],p)==0)
p=s[i]+p;*/
while(gets(text)!=NULL)
{
sLen = strlen(text);
for(i = 1; i < (sLen-1); i++){
if(text[i-1]=='.'){
for(i = 1; i < (sLen-1); i++){
{
for(j = 0; j < 33; j++) for(i = 0; i < 2; i++)
if(text[i] == T[i][j]) ;}}
cout<<text<<endl;
if(q==1) printf("%s\n", text);
cout<<p<<endl;
return 0;
Объяснение: