#include <iostream>
using namespace std;
int main()
{
int index = 0;
int val;
int x;
while (val != 0)
{
cin >> val;
for (index = 1; index < 32; index++)
{
x = val * index - index/index;
cout << x << " " << val << " " << index << endl;
cout << x % 4 << endl;
cout << x % 3 << endl;
cout << x % 2 << endl;
}
}
return 0;
}
Почему, когда вход < 1, 2, 3, 4 ...> каждый тридцать первый индекс кодируется в алгоритме аналогично вход 1, который является только индекс - 1; но модель имеет вид:Modulus и Двоичные числа
из двенадцати (1-12, 12 -24) [000, 111, 220, 301, 010, 121, 200, 311, 020, 101, 211, 321], [000, 111 , 220, 301, 010 ... повторяющиеся для ввода < 1>;
31-го индекса: [1] 200, 111, 020, 301, 210, 121, 000, 311, 220, 101, 010, 321, 200 ... [13]
Почему отношение похоже и есть причина для этого в двоичном формате?
Редактировать: Чтобы уточнить вопрос, когда вы берете остаток определенного целого числа, и отношение становится специфичным для каждого приращения ... является причиной этого из-за двоичного кода и того, как семантика основана на реализации способа сходится целочисленное значение к двоичному значению? Я знаю, что высокоуровневое программирование использует хеш и обменивается внутри программ ... но основная идея заключается в том, что целочисленное значение должно быть двоичным. Это бинарная специфическая операция или просто какой-то случайный алгоритм, который показывает шаблоны в числах?
Ваш вопрос не имеет смысла. Просьба уточнить. – Schilcote
Это уместно? http://stackoverflow.com/questions/26047196/is-there-any-way-to-write-mod-31-without-modulus-division-operators – mydiax
@mydiax Как вы отличить _binary input_ на самом деле? –