Перевести код с 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д