Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LCG
- {
- static void Main()
- {
- Console.Write("Enter Initial SEED : 0x"); // 初期SEED入力
- if (uint.TryParse(Console.ReadLine(), System.Globalization.NumberStyles.HexNumber, null, out uint Seed))
- {
- Console.Write("Enter SEED Count :");
- if (int.TryParse(Console.ReadLine(), out int count) && count > 0)
- {
- Console.Write("Enter File Name :");
- string outputPath = Console.ReadLine();
- if (!outputPath.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
- {
- outputPath += ".txt";
- }
- using (StreamWriter writer = new(outputPath))
- {
- for (int i = 1; i < count; i++, Seed = NextSeed(Seed))
- {
- uint lsr = (Seed >> 16);
- uint Scout = lsr % 1000;
- DateTime baseDate = new DateTime(2000, 1, 1, 0, 0, 0);
- TimeSpan elapsedTime = TimeSpan.FromSeconds(Seed);
- DateTime resultDate = baseDate.Add(elapsedTime);
- if (Scout == 0)
- {
- Console.WriteLine($"0x{Seed:X8} [{resultDate.ToString("yyyy/MM/dd HH:mm:ss")}] Scout!");
- writer.WriteLine($"0x{Seed:X8} [{resultDate.ToString("yyyy/MM/dd HH:mm:ss")}] Scout!");
- }
- else
- {
- Console.WriteLine($"0x{Seed:X8} [{resultDate.ToString("yyyy/MM/dd HH:mm:ss")}] {Scout / 10:d2}.{Scout % 10}%");
- writer.WriteLine($"0x{Seed:X8} [{resultDate.ToString("yyyy/MM/dd HH:mm:ss")}] {Scout / 10:d2}.{Scout % 10}%");
- }
- }
- Console.WriteLine($"Generated {count} seeds. Output saved to {outputPath}");
- }
- }
- else { Console.WriteLine("Invalid Input for SEED Count."); }
- }
- else { Console.WriteLine("Invalid Input for Initial SEED."); }
- }
- static uint NextSeed(uint Seed)
- {
- uint a = 1103515245;
- uint b = 12345;
- return (a * Seed + b);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment