সি ++, 926 বাইট
#include<iostream>
#include<string>
#include<math.h>
#define S string
using namespace std;S N(S x,int y){S z="";for(int q=0;q<y;q++){z+=x;}return z;}int main(){int n=0,t=0,g=0,fi=1;cin>>n;int t1[]={0,0,n,0};int t2[]={0,n-2,n-2,1};for(int k=0;k<n+1;k++){if((k>(n-2)/2)&&(k<(n+5)/2)){if(g==0){S d,e;if(!((n+1)%4)){cout<<N("* ",t2[0])<<" *"<<N(" *",t2[0])<<endl<<N("* ",(n+1)/2)<<endl<<N("* ",t2[0])<<"***"<<N(" *",t2[0])<<endl;t2[2]=n-8-(n-11);t1[2]=n-4-(n-11);t1[0]--;t2[3]--;t1[3]-=2;}else{cout<<N("* ",t1[0])<<"***"<<N(" *",t2[0])<<endl<<N("* ",(n+1)/2)<<endl<<N("* ",t1[0])<<"* "<<N(" *",t2[0])<<endl;t2[0]--;t1[2]+=2;t2[2]+=6;t1[3]--;t2[1]-=2;t2[3]-=2;}fi=0;}g=5;}else{t=1-t;int*tR;tR=t?t1:t2;cout<<N("* ",tR[0])<<N(t?"*":" ",tR[2])<<N(" *",tR[3])<<endl;if(fi){if(t){t1[0]+=k==0?0:1;t1[2]-=k==0?2:4;t1[3]++;}else{t2[0]++;t2[2]-=4;t2[3]++;}}else{if(t){t1[0]--;t1[2]+=4;t1[3]--;}else{t2[0]--;t2[2]+=4;t2[3]--;}}}}return 0;}
এটি মার্জিত নয়, তবে এটি বড় এন এর জন্য খুব বেশি স্মৃতি গ্রহণ করে না। তদুপরি, প্রায় 20 টি চরিত্র রয়েছে যা আরও গল্ফ করা যেতে পারে তবে আমি আর এটি দেখার পক্ষে দাঁড়াতে পারি না।
সংক্ষিপ্ত বিবরণ:
এটি সর্পিলরেখার রেখাগুলিকে দুটি প্রকারে বিভক্ত করে: মাঝখানে ****** সহ এবং মাঝখানে \ s \ s \ s \ s \ s সহ একটি। তারপরে এটি স্পষ্ট যে প্রতিটি লাইন বেশ কয়েকটি "*" গুলি, মাঝারি এবং কিছু "*" দ্বারা গঠিত। আপনি যদি দীর্ঘক্ষণ ধরে প্যাটার্নটি দেখেন তবে প্রতিটি জিনিসের ঠিক কতটি সহজ তা নির্ণয় করা। ছদ্মবেশী জিনিসটি সর্পিলটির কেন্দ্রস্থলটি মুদ্রণ করছিল যা আমি মূলত কঠোর শর্তসাপেক্ষে ব্যবহার করে কোড করেছিলাম। এটি দরকারী হিসাবে শেষ হয়েছে কারণ *** এবং \ s \ s \ s এর লাইনগুলি বিজোড় / এমনকি সেখানে স্যুইচ হচ্ছে।
পরীক্ষা:
ইনপুট: 55 (আমি মনে করি বড়গুলি দেখতে দুর্দান্ত দেখায়)
আউটপুট:
************************************************** *****
*
************************************************** *** *
* * *
* *********************************************** * *
* * * * * *
* * ******************************************* * * *
* * * * * * * *
* * * *************************************** * * * * *
* * * * * * * * * *
* * * * ************************************* * * * * * *
* * * * * * * * * * * * *
* * * * * ********************************* * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * ***************************** * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * ************************* * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * ********************* * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * ***************** * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * ************* * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * ********* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * ***** * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * {- আমার প্রোগ্রামটি এখানে বিটিডব্লু যোগ করেছে
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * ******* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * *********** * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * *************** * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * ******************* * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
* * * * * * * * * *********************** * * * * * * * * *
* * * * * * * * * * * * * * * * *
* * * * * * * *************************** * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * ******************************* * * * * * * *
* * * * * * * * * * * * * *
* * * * * *********************************** * * * * * *
* * * * * * * * * * *
* * * * ************************************* * * * * *
* * * * * * * * *
* * * ***************************************** * * *
* * * * * * *
* * ********************************************* * *
* * * *
* *********************************************** ** *
* *
************************************************** *****
ইনপুট: 3
আউটপুট:
***
*
* *
***
দ্রষ্টব্য: আমি কম্পিউটার বিজ্ঞানী / সিএস শিক্ষার্থী নই এবং এটি কীভাবে প্রমাণ করতে হয় যে এটি ও (লগ এন) মেমরি ব্যবহার করে তা আমি জানি না। আমি কেবল প্রশ্নের লিঙ্কগুলির ভিত্তিতে কী করতে হবে তা নিয়ে কাজ করতে পারি। এই উত্তরটি বৈধ হলে কেউ নিশ্চিত / অস্বীকার করতে পারলে আমি কৃতজ্ঞ হব। এই উত্তরটির বৈধতার জন্য আমার যুক্তিটি হ'ল এটি কখনও ইনপুট ব্যতীত n এর উপর ভিত্তি করে আকারের কোনও পরিবর্তনশীল সঞ্চয় করে না। পরিবর্তে, এমন একটি লুপ যা n বার চালিত হয় n এর উপর ভিত্তি করে পূর্ণসংখ্যার মানগুলি গণনা করে। ইনপুট নির্বিশেষে values মানগুলির একই সংখ্যা রয়েছে।
নোট 2: আমার মধ্যের সাথে আচরণ করার পদ্ধতির কারণে এটি n = 1 এর জন্য কাজ করে না। শর্তসাপেক্ষে এটি ঠিক করা সহজ হবে, সুতরাং যদি কেউ আমার উত্তরের কয়েকটি অক্ষরের মধ্যে থাকে তবে আমি এটিকে ঠিক করব;)
আদর্শের সাথে এটি খেলুন।
nও (1) মেমরিতে কোনও ইনপুট সঞ্চয় করতে পারে না ।