Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.10.15;
Скачать: CL | DM;

Вниз

Доказать или опровергнуть, что   Найти похожие ветки 

 
DayGaykin ©   (2016-06-19 20:11) [0]

всегда существует такое N: 0..7, что для любого числа K истинно выражение (K and (not $F000) + N shl 12) mod 7 = 0.
Другими словами, любое ли число можно привести к делимости на 7, изменив три бита начиная с 13ого.

Есть идеи?

С помощью признака делимости я сходу не смогу.

Опровергнуть небольшим перебором тоже не вышло:

procedure TForm1.Button1Click(Sender: TObject);
var
 K, N: Int64;
 F: Boolean;
begin
 for K := 0 to $FFFFFFFF do
 begin
     F := False;
     for N := 0 to 7 do
     if (K and (not $F000) + N shl 12) mod 7 = 0 then
     begin
       F := True;
       break;
     end;
   if not F then
   begin
     Memo1.Append(IntToHex(K, 0));
     Application.ProcessMessages;
   end;
 end;
end;


 
ttUser ©   (2016-06-19 20:19) [1]

Удалено модератором


 
DayGaykin ©   (2016-06-19 20:45) [2]


> ttUser ©   (19.06.16 20:19) [1]
> Во тебя вштырило то :))

Я по программированию вопросы с трудом на английском задаю, что говорить уже о математике.

Я даже экспериментально установил значение для N:

procedure TForm1.Button1Click(Sender: TObject);
var
 K, N, Id: Int64;
begin
 for K := 0 to $FFFFFFFF do
 begin
   Id := K and not ($F000);
   N := 7 - Id mod 7;
   if (Id + N shl 12) mod 7 <> 0 then
   begin
     Memo1.Append(IntToHex(K, 0));
     Application.ProcessMessages;
   end;
 end;
end;  

Доказательства по прежнему нет.


 
Sha ©   (2016-06-19 20:59) [3]

DayGaykin ©   (19.06.16 20:11)  

1 * 4096 mod 7 = 1
2 * 4096 mod 7 = 2
4 * 4096 mod 7 = 4

и каким ни был модуль исходного числа,
мы всегда сможем найти такую комбинацию бит,
чтобы в итоге получить нужный модуль


 
Sha ©   (2016-06-19 21:09) [4]

например, если нужно получить нулевую сумму,
то можно использовать выражение:
N:=K mod 7 xor 7;
при этом будет всегда N>0.


 
SergP ©   (2016-06-19 21:28) [5]


> DayGaykin ©   (19.06.16 20:11)
>
> всегда существует такое N: 0..7, что для любого числа K
> истинно выражение (K and (not $F000) + N shl 12) mod 7 =
> 0.
> Другими словами, любое ли число можно привести к делимости
> на 7, изменив три бита начиная с 13ого.


2 в любой степени и 7 - всегда взаимно-простые числа, так что да.


 
SergP ©   (2016-06-19 21:30) [6]


> всегда существует такое N: 0..7


более того, всегда существует такое N: 0..6 (или N: 1..7)


 
DayGaykin ©   (2016-06-20 12:59) [7]

О как! Я плохо понял, но я вам верю.
Спасибо большое!



Страницы: 1 вся ветка

Текущий архив: 2017.10.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.004 c
15-1466356269
DayGaykin
2016-06-19 20:11
2017.10.15
Доказать или опровергнуть, что


4-1284236390
korbin dalas
2010-09-12 00:19
2017.10.15
Как определить с какими параметрами запущено ЧУЖОЕ приложение?


15-1466367185
NailMan
2016-06-19 23:13
2017.10.15
Читать COM-порт, передавать в RRD-Tools и генерировать HTML


15-1465855893
Тимохов Дима
2016-06-14 01:11
2017.10.15
TXMLDocument


15-1465602099
K-1000
2016-06-11 02:41
2017.10.15
Тестовые задания по Delphi