Quine на C#

Если Вы программист, то когда-нибудь задумывлись над тем, чтобы написать программу, которая на выходе выдавала бы исходный код самой себя. Причём, по-моему мнению важным условием для исполнения такой программы является то, что она не должна принимать никаких внешних данных, так как весь смысл в написании такой программы пропадает. А так же она должна содержать более хотя бы 1 символ кода. Ну вот условие достаточности и необходимости выставленно, что же будет результатом?

Вот пример на C#

  1. using System;class A{static void Main(){
  2. string s=«using System;class A{{static void Main(){{string s={0}{1}{0};char q='{0}’;Console.Write(s,q,s);}}}}»;
  3. char q=‘»‘;Console.Write(s,q,s);}}

Интересно, а можно ли написать пример на C# покороче?

Advertisements

4 комментария on “Quine на C#”

  1. Задумывался.
    Только пример не правильный. Код повторяется, а должен быть в одном месте. 🙂
    Иначе где гарантия, что выдаваемый код абсолютно точно соответствует коду программы?

  2. 1. using System;class A{static void Main(){
    2. string s=“using System;class A{{static void Main(){{string s=\»{0}\»;Console.Write(s,q,s);}}}}”;
    3. Console.Write(s,s);}}

    Вроде так короче :)…
    Правда я еще не попробовал… но как то так точно можно вывести кавычки

  3. да кстати я там в одном месте… ошибку 100% допустил, ‘q’ не убрал

  4. butaji:

    Ждём примера )
    >> Задумывался.
    Только пример не правильный. Код повторяется, а должен быть в одном месте.
    Иначе где гарантия, что выдаваемый код абсолютно точно соответствует коду программы?


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s