Перевод кода с Pascal на C# - C# (183515)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. var
  2. k,n: integer;
  3. d: char;
  4. procedure AddDigit(s: string);
  5. var
  6. c,i: char;
  7. begin
  8. if Length(s)=k then writeln(s)
  9. else begin
  10. if s='' then c:='1' else c:= Succ(s[Length(s)]);
  11. for i:=c to d do AddDigit(s+i)
  12. end
  13. end;
  14. begin
  15. k:= 2;
  16. n:= 5;
  17. d:= Chr(48+n);
  18. AddDigit('');
  19. readln
  20. end.
Собственно один большой вопрос

Решение задачи: «Перевод кода с Pascal на C#»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. class Program
  6. {
  7.     public static void Main()
  8.     {
  9.         int k = 2;
  10.         int n = 5;
  11.         Queue<List<int>> q = new Queue<List<int>>();
  12.         q.Enqueue(new List<int>(k));
  13.         while (q.Count != 0)
  14.         {
  15.             List<int> prev = q.Dequeue();
  16.             if (prev.Count == k)
  17.             {
  18.                 Console.WriteLine(String.Join(String.Empty, prev.Select(i => i.ToString())));
  19.             }
  20.             else
  21.             {
  22.                 for (int i = prev.LastOrDefault() + 1; i <= n; i++)
  23.                 {
  24.                     List<int> next = new List<int>(prev);
  25.                     next.Add(i);
  26.                     q.Enqueue(next);
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут