Buninilya
?>

Для делимости числа на 3 требуется, чтобы сумма цифр числа делилась на 3. Написать вс алгоритм проверки делимости числа на 3 и определить, произведение чисел в числовом ряду, размерностью n, кратных 3. ИСПОЛЬЗОВАТЬ КУМИР.

Информатика

Ответы

modos201276

Месяц находим методом половинного деления.

Двоичная запись числа 366 размещается в 9 битах (в 8 битах размещается только 256 чисел , а в 9 битах - уже 512).

То есть , понадобится задать 8 вопросов и девятой фразой будет ответ.

В году 365 (366) дней. Пусть 366, для 365 рассуждение то же.

Рассмотрим самый худший вариант

Середина года - день номер 366/2=183. Это 1 июля.

Первый вопрос: День рождения в первой половине года?

Допустим, да.

Второй вопрос: День рождения в первом квартале?

Допустим, нет. Следовательно во втором.

Второй квартал - это дни с номерами от 92 до 182. Середина - среднее арифметическое. (92+182)/2=137. Это дата 17 мая.

Третий вопрос: День рождения позднее 17 мая?

Допустим, нет.

Следовательно, интервал дат 1 апреля - 17 мая, 91 день. Опять делим на 2, сужая интервал до 22 дней. Это дата 22 апреля.

Четвертый вопрос: День рождения позднее 22 апреля?

Допустим, нет.

Новый диапазон поиска - 23 апреля - 17 мая. Половиним его.

Пятый вопрос: День рождения позднее 29 апреля?

Допустим, нет.

Поиск сузился до 23 - 29 апреля. Снова берем половину.

Шестой вопрос: День рождения позднее 26 апреля?

Допустим, нет.

Интервал дат 23-26 апреля. Половиним.

Седьмой вопрос: День рождения позднее 24 апреля?

Допустим, да.

Интервал дат 25-26 апреля.

Восьмой вопрос: День рождения 25 апреля?

Допустим, нет

Девятая фраза: Ваш день рождения 26 апреля.

Анатольевич447
Procedure TForm1.Button4Click(Sender: TObject);
var Buff: TNodePointer;
x: TItem;
i,j: Cardinal;
begin
 i:=0;
 Buff:=Head;
 if(Buff^.Next=nil) then
 begin
  ShowMessage('В стеке один элемент!');
  exit;
 end;
while Buff <> nil do
begin
 while (Buff^.Next<>nil) and (Buff^.Data=Buff^.Next^.Data) and not(isEmpty(Buff)) do
 begin
  pop(Buff^.Next,x);
  for j:=i to StringGrid1.RowCount-2 do
   StringGrid1.Cells[0,j]:=StringGrid1.Cells[0,j+1];
  StringGrid1.RowCount:=StringGrid1.RowCount-1;
 end;
 Buff:=Buff^.Next;
 i:=i+1;
end;
end;

PS. Delphi у меня сейчас нет, так что проверяйте сами. Если что не так - сообщайте.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для делимости числа на 3 требуется, чтобы сумма цифр числа делилась на 3. Написать вс алгоритм проверки делимости числа на 3 и определить, произведение чисел в числовом ряду, размерностью n, кратных 3. ИСПОЛЬЗОВАТЬ КУМИР.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

superniki87
nkochladze
vedaikin
ipeshindina236
sn009
Киларджиева Диана440
shyroshka836103
vikgor45
Инна_Nina1182
Lerkinm
academycoffee243
serge-lysoff
Amulenkov
daryagulyaeva
alfaantonk