Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace ConsoleApplication2 {
- class Program {
- static void Main(string[] args) {
- int count = 0;
- for (int i = 1; i <= 0x7fff; i++) {
- var sequence = Generate6ShiftSequence(i);
- var steps = sequence.Count();
- if (steps != 93) {
- count++;
- Console.WriteLine("${0:x4} -> {1} steps", i, steps);
- }
- }
- Console.WriteLine(count);
- }
- private static IEnumerable<int> Generate1ShiftSequence(int seed) {
- int value = seed;
- do {
- yield return value;
- int bit0 = (value >> 0) & 1;
- int bit1 = (value >> 1) & 1;
- value = (value >> 1) | ((bit0 ^ bit1) << 14);
- }
- while (value != seed);
- }
- private static IEnumerable<int> Generate6ShiftSequence(int seed) {
- int value = seed;
- do {
- yield return value;
- int bit0 = (value >> 0) & 1;
- int bit6 = (value >> 6) & 1;
- value = (value >> 1) | ((bit0 ^ bit6) << 14);
- }
- while (value != seed);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement