সি, 2.2 * 10 ^ 177 প্রোগ্রাম
#define S(s)char*q=#s,n[]="#####################################################################################################";i;s
S(main(){while(n[i]==91)n[i++]=35;i==101?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
এটি নিখুঁত নয়, তবে বেশ ভাল। আমার অর্থ এটি 255
হ'ল লম্বা বাইট এবং একই দৈর্ঘ্যের প্রোগ্রাম উত্পন্ন করে। আপনি আরও কিছু প্রোগ্রাম পেতে সম্ভবত কিছুটা চারপাশে ঝাঁকুনি ফেলতে পারেন, তবে আমি এটি এখনকার মতো ছেড়ে দেব।
প্রোগ্রামটি একটি সাধারণ সি কুইন ভিত্তিক। অতিরিক্তভাবে একটি বেশ সাধারণ গণনা অ্যালগরিদম রয়েছে যা চর অ্যারের সমস্ত সম্ভাব্য মানের মধ্যে গণনা করে n
। আমাদের কাছে স্ট্রিংয়ের ক্রমান্বয়ে যতগুলি প্রোগ্রাম রয়েছে n
।
চর পরিসরটি #
(= 35) থেকে [
= (91) পর্যন্ত সীমার মধ্যে সীমাবদ্ধ । এর কারণ আমি কোনও "
বা \
স্ট্রিং চাই না , কারণ তাদের পালাতে হবে।
চর অ্যারেতে থাকা সমস্ত মানগুলি হলে প্রোগ্রাম জেনারেশন শেষ n
হয় [
। তারপরে এটি একটি সাধারণ ডামি প্রোগ্রাম main(){}
আউটপুট করে, যা নিজেই কিছুই আউটপুট করে।
#define S(s) char *q = #s; /* have the source as a string */ \
char n[] = "#####################################################################################################"; \
int i; \
s /* the source itself */
S(main() {
while(n[i]=='[') /* clear out highest value, so next array element be incremented */
n[i++]='#';
i==101 /* end of array reached? output dummy program */
? q = "main(){}"
: n[i]++; /* count one up in the whole array */
printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)", n, q);
})
এটি কাজ করা উচিত এমন একটি প্রদর্শন হিসাবে আমি কেবল সীমাটি পরিবর্তন করেছি, সুতরাং কেবলমাত্র ASCII- কোডের মধ্যে অক্ষর 35
এবং 36
ব্যবহৃত হয় এবং কেবল 4 টি অ্যারের উপাদান।
ফলাফল প্রোগ্রাম হয়
% echo > delim; find -iname 'program_*.c' | xargs -n1 cat delim
#define S(s)char*q=#s,n[]="####";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$###";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="#$##";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$$##";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="##$#";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$#$#";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="#$$#";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$$$#";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="###$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$##$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="#$#$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$$#$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="##$$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$#$$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="#$$$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="$$$$";i;s
S(main(){while(n[i]==36)n[i++]=35;i==4?q="main(){}":n[i]++;printf("#define S(s)char*q=#s,n[]=\"%s\";i;s\nS(%s)",n,q);})
#define S(s)char*q=#s,n[]="####";i;s
S(main(){})
এটি 2^4 + 1 = 17
বিভিন্ন প্রোগ্রাম আউটপুট করে।
সুতরাং উপরের প্রোগ্রামটি ((91-35)+1)^101 + 1 = 57^101 + 1 ~= 2.2 * 10^177
বিভিন্ন প্রোগ্রামকে আউটপুট করে। আমি পুরোপুরি নিশ্চিত নই যদি এটি গণনা করা হয়, বা আমার গণনাটি আরও সঠিক হয় কিনা
2^2048
, বা3.2317e616
।