Перевести код с Python на C#
Формулировка задачи:
перевести и Python на C#
import sys lineIn = sys.stdin.readline().split(" ") n = int(lineIn[0]) m = int(lineIn[1]) fibPrev = 0 fib = 1 cached = [fibPrev, fib] for curr in range(1, n): fibOld = fib fib = (fib + fibPrev) % m fibPrev = fibOld if fibPrev == 0 and fib == 1: cached.pop() break else: cached.append(fib) offset = n % len(cached) sys.stdout.write(str(cached[offset]))
Решение задачи: «Перевести код с Python на C#»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApplication28 { class Program { static void Main(string[] args) { var lineIn = Console.ReadLine().Split(' '); var n = int.Parse(lineIn[0]); var m = int.Parse(lineIn[1]); var fibPrev = 0; var fib = 1; var cached = new List<int>() { fibPrev, fib }; foreach (var curr in Enumerable.Range(1, n)) { var fibOld = fib; fib = (fib + fibPrev) % m; fibPrev = fibOld; if (fibPrev == 0 && fib == 1) { cached.RemoveAt(cached.Count - 1); //or cached.Remove(cached.Last()); break; } else { cached.Add(fib); } } var offset = n % cached.Count; Console.WriteLine(cached[offset]); //Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д