ঘৃণা / প্রেমের গোপনে


30

চ্যালেঞ্জের বিবরণ

এই প্রতিদ্বন্দ্বিতায়, আমরা কেবল বিবেচনা loveএবং hateঅনুভূতি হিসাবে। যদি আমরা অর্ডারটির কোনও অনুভূতি প্রকাশ করতে চাই তবে আমরা Nএই দুটিয়ের মধ্যে বিকল্প (শুরু দিয়ে hate):

order | expression

1       I hate it.
2       I hate that I love it.
3       I hate that I love that I hate it.
4       I hate that I love that I hate that I love it.

প্যাটার্নটি প্রতিটি ধনাত্মক পূর্ণসংখ্যার জন্য অনুসরণ করে N। প্রদত্ত N, আউটপুট ক্রম অনুভূতি প্রকাশ N

নোট

  • .এক্সপ্রেশন শেষে সম্পূর্ণ স্টপ ( ) বাধ্যতামূলক,
  • ট্রেলিং এবং শীর্ষস্থানীয় হোয়াইটস্পেসগুলি (নতুন লাইনগুলি সহ) অনুমোদিত,
  • ধনাত্মক বা অ-পূর্ণসংখ্যার আউটপুট Nঅপরিজ্ঞাত করা হয়েছে,
  • এটি একটি চ্যালেঞ্জ, সুতরাং আপনার কোডটি যতটা সম্ভব সংক্ষিপ্ত করুন!


1
বেশ বিভ্রান্ত। সুতরাং orderইনপুট, এবং expressionআউটপুট?
হুথহেলিস্ট্যাট

2
@ হোথোহেলিস্ট্যাট হ্যাঁ, ঠিক আছে। (পিপিসিজে আপনাকে স্বাগতম! :))
মার্টিন

@ হোথোহেলিস্ট্যাট: হ্যাঁ আপনি স্টিডিনের মাধ্যমে ইনপুট নিতে পারেন, যদিও এটি কোনও পদ্ধতি (ফাংশন) সংজ্ঞায়িত করার জন্য প্রায়শই খাটো হয়, আপনি নীচের জমাগুলিতে দেখতে পারেন।
shooqie

1
আমি ঘৃণা করি যে আমি এই প্রশ্ন এবং এর উত্তর পছন্দ করি!
আরকিলিকনাম

উত্তর:



15

সিজেম , 36 বাইট

ri{"hatlov"3/='IS@"e that "}/2<"it."

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

ri            e# Read input and convert to integer N.
{             e# For each i from 0 to N-1...
  "hatlov"3/  e#   Push ["hat" "lov"].
  =           e#   Use i as a cyclic index into this array to alternate between
              e#   "hat" and "lov".
  'IS         e#   Push character 'I' and a space.
  @           e#   Pull "hat" or "lov" on top of it.
  "e that "   e#   Push "e that "
}/
2<            e#   Truncate the last "e that " to just "e ".
"it."         e#   Push "it."

7

সি, 83 76 75 74 বাইট

11 বাইট সংরক্ষণ এবং 4 বাইট যুক্ত করার জন্য @ লিকি নুনকে ধন্যবাদ!
একটি বাইট সংরক্ষণ করার জন্য @ ওয়াইএসসি ধন্যবাদ!

i;f(n){for(i=0;n--;)printf("I %se %s",i++%2?"lov":"hat",n?"that ":"it.");}

আইডিয়নে চেষ্টা করে দেখুন


1
i=0;while(n--)-> for(i=0;n--;)1 টি সঞ্চয় করে।
ওয়াইএসসি

6

জাভাস্ক্রিপ্ট (ES6), 75 73 70 বাইট

n=>[...Array(n)].map((_,i)=>i&1?'I love':'I hate').join` that `+' it.'

নিল
সেভড 3 বাইট কে হুথেলিসট্যাটের জন্য 2 বাইট সংরক্ষণ করা হয়েছে

পরীক্ষা

let f =
n=>[...Array(n)].map((_,i)=>i&1?'I love':'I hate').join` that `+' it.'

console.log(f(1))
console.log(f(2))
console.log(f(3))
console.log(f(4))


3 বাইট সংরক্ষণ করুন: ['I hate','I love'][i&1]->i&1?'I love':'I hate'
হুথলিস্ট্যাট'

@ হোথেললিস্ট্যাট - ধন্যবাদ! আমি সেটিকে মিস করেছি।
আর্নৌল্ড

5

জাভা 8, 91 বাইট

i->{for(int j=0;j++<i;)System.out.printf("I %se %s",j%2>0?"hat":"lov",j<i?"that ":"it.");};

অসম্পূর্ণ পরীক্ষা প্রোগ্রাম

public static void main(String[] args) {
    Consumer<Integer> c = i -> {
        for (int j = 0; j++ < i;) {
            System.out.printf("I %se %s", j % 2 > 0 ? "hat" : "lov", j < i ? "that " : "it.");
        }
    };

    c.accept(1);
    c.accept(2);
    c.accept(3);
}

হোয়াইটস্পেস সরাবেন না কেন? c=i->for(...)
shooqie

আমি কেবল ভুলে গেছি।
শন ওয়াইল্ড

ভালো লাগছে, তুমি আমাকে এতে মারধর করেছ +1 এবং সম্ভবত আমার উত্তরটি চেয়ে ছোট হবে। PS: আমি এটি কেবল 'জাভা' এর পরিবর্তে 'জাভা 8' হিসাবে চিহ্নিত করব। তবে বাধ্যতামূলক নয়, আমি সাধারণত ব্যক্তিগত পছন্দটি যেহেতু আমি সাধারণত আমার উত্তর জাভা 7 এ লিখি (এবং যেহেতু জাভা 9 আগমনকারী)।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন আপনি আমাকে প্রতিবারই এটি বলুন;) জরিমানা
শন ওয়াইল্ড

@ সানবিয়ান ওয়েল, সাধারণত আমার কাছে ইতিমধ্যে আমার জাভা answer উত্তর রয়েছে এবং আপনি একটি ছোট উত্তর পোস্ট করেন, যা বেশিরভাগ সময় আরও বেশি গল্ফ করা যায়। ; পি (এবার আমি এটিকে ছোট করার মতো কিছু খুঁজে পাচ্ছি না But তবে সম্ভবত অন্য কেউ তা করতে সক্ষম to)
কেভিন ক্রুইজসেন

5

গণিত, 63 বাইট

"I love"["I hate"][[#~Mod~2]]&~Array~#~Riffle~" that "<>" it."&

1
আমি সেখানে মাথা উত্তোলন ভালবাসি, সত্যিই চতুর।
একটি সিমন্স

@ এ্যাসমন্সস এটি আসলে বেশ পুরানো কৌশল (যা আমি নিজেও প্রকাশ্যে আসিনি), তবে আমি অবশ্যই এটি যথেষ্ট পরিমাণে ব্যবহার করতে পারি না। ;)
মার্টিন ইন্ডার

5

জেলি , 25 বাইট

“ṅɠT5“£ẏkg⁷»ṁj“¥ıQ»ṙ1“it.

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

                             Input: n, a number.
“ṅɠT5“£ẏkg⁷»                 Compressed string array [' I hate', ' I love']
            ṁ                Cycle for n repetitions.
             j“¥ıQ»          Join by compressed string ' that'.
                   ṙ1        Rotate left once: move the initial space to the end.
                     “it.    Implicitly print the result, then print 'it.'

এর জন্য আমার একটা ব্যাখ্যা দরকার।
স্টিভেন এইচ।


4

আর, 79 বাইট

n=scan();for(i in n:1)cat(if((i+n)%%2)"I love"else"I hate",if(i>1)"that "else"it.")

ভাগ্যক্রমে আর-তে, এর জন্য ডিফল্ট বিভাজক catএকটি স্থান।

(মূল by৩ বাইট সংস্করণ থেকে সম্পাদিত যা সমস্যার সমাধান করেনি))


forলুপের ঝরঝরে ব্যবহার এবং %%। +1
বিলিওব

2

রেটিনা , 42 38 বাইট

এটি আমাকে গল্ফ সাহায্য করার জন্য লিকি নুনকে ধন্যবাদ!

11
1I love n
1
I hate n
n$
it.
n
that 

ইনপুট আনারিতে নেওয়া হয়।

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

11
1I love n

1এর সাথে প্রতিটি জোড়া প্রতিস্থাপন করুন 1I love n

1
I hate n

বাকি 1গুলি এর সাথে প্রতিস্থাপন করুন I hate n

n$
it.
n
that 

nলাইনের শেষে it.এবং অন্য প্রতিটি এন এর সাথে প্রতিস্থাপন করুন that 


আপনি ড্রপ করে আরও চারটি বাঁচাতে পারবেন l: retina.tryitonline.net/…
মার্টিন এন্ডার

@ মার্টিন ইন্ডার: আমি মনে করি আমি আপনাকে এই সম্পাদনায় নীঞ্জা করেছিলাম: পি
বিজনেস বিড়াল

1
টাইমস্ট্যাম্পগুলি বলে যে আপনি 9 সেকেন্ড দেরিতে ছিলেন। : পি
মার্টিন ইন্ডার

1

জাভাস্ক্রিপ্ট (ES5), 99 94 বাইট

function(c){for(d="",b=0;b<c;++b)d+=(b%2?"I love ":"I hate ")+(b==c-1?"it.":"that ");return d}

লিকি নুনকে ধন্যবাদ 5 টি বাইট সংরক্ষণ করুন

ওল্ড 99 বাইট সমাধান:

function(c){for(d="",b=0;b<c;++b)d+=(0==b%2?"I hate":"I love")+" "+(b==c-1?"it.":"that ");return d}

অন্য 98 বাইট সমাধান:

function(d){for(c=[],b=0;b<d;++b)c.push(["love","hate"][b%2]);return"I "+c.join(" that I ")+" it"}

মাইনিফিকেশনের আগে আমার কোড:

function a(n){
  var hate="I hate",love="I love",it="it ",that="that ",out="";
  for(var i=0;i<n;++i){out+=(i%2==0?hate:love)+" "+(i==n-1?it+".":that)}return out;
}

1
function(c){for(d="",b=0;b<c;++b)d+=(b%2?"I love ":"I hate ")+(b==c-1?"it.":"that ");return d}
লিকি নুন


1

পাওয়ারশেল ভি 2 +, 64 বাইট

((1..$args[0]|%{('I love','I hate')[$_%2]})-join' that ')+' it.'

বরং সোজা। 1ইনপুট থেকে লুপগুলি $args[0], প্রতিটি পুনরাবৃত্তি হয় হয় 'I love'বা 'I hate'পাইপলাইনে স্থাপন করে , মডিউলো -2 এর সিউডো-টের্নারি ভিত্তিক (অর্থাত্ এটি শুরু করে সামনে এবং পিছনে শুরু করে 'I hate')। যারা স্ট্রিং ডান বন্ধনী মধ্যে encapsulated এবং করছে -joinসঙ্গে ed ' that 'তাদের একসঙ্গে smush, তারপর স্ট্রিং সংযুক্তকরণের ' it.'শেষে।

পরীক্ষার মামলা

PS C:\Tools\Scripts\golfing> 1..5|%{.\hate-love-conundrum.ps1 $_}
I hate it.
I hate that I love it.
I hate that I love that I hate it.
I hate that I love that I hate that I love it.
I hate that I love that I hate that I love that I hate it.

1

পিএইচপি, 64 62 বাইট

<?=str_pad("",$argv[1]*12-5,"I hate that I love that ")."it.";

দুর্ভাগ্যক্রমে আমি "যে আমি" এর পুনরাবৃত্তি এড়াতে বা কমপক্ষে 7 বাইটের চেয়ে কম উপায় না করে কোনও উপায় কাজ করতে পারি না।

সম্পাদনা: @ জার্গ হালসারম্যানকে 2 বাইট সংরক্ষণ করা হয়েছে


1

পার্ল, 62 54 50 বাইট

$_="I xe tx "x$_;s/tx $/it./;s/x/++$.%4?hat:lov/ge

(ক্রেডিট টাউন হসপেলকে )

ডেমো: http://ideone.com/zrM27p

পূর্ববর্তী সমাধান:

$_="I xe that "x$_;s/x/$@++&1?lov:hat/ge;s/\w+.$/it./

(ক্রেডিট @ দাদাকে )

সাথে চালাও perl -pE '$_="I xe that "x$_;s/x/$@++&1?lov:hat/ge;s/\w+.$/it./'

প্রথম সমাধান (শুধুমাত্র এটি আমার ছিল)

for$x(1..<>){$_.=' I '.($x%2?hat:lov).'e that'}s/\w+$/it./;say

অংশে:

for $x (1..<>) {
   $_ .= ' I '.($x % 2 ? hat : lov).'e that'
}
s/\w+$/it./;
say

ডেমো: http://ideone.com/mosnVz


হাই এবং পিপিসি-তে আপনাকে স্বাগতম। চমৎকার উত্তর. এখানে যদিও একটি সংক্ষিপ্ত সমাধান (54 বাইট) হল: perl -pE '$_="I xe that "x$_;s/x/$@++&1?lov:hat/ge;s/\w+.$/it./'
দাদা

এই অংশটির অর্থ কী $@++&1? কারণ @+পের্লডোক বলেছেন "বর্তমানে সক্রিয় গতিশীল স্কোপে সর্বশেষ সফল সাবম্যাচগুলির প্রান্তগুলি অফসেটগুলি ধারণ করে" যা আমার পক্ষে খুব বেশি অর্থ দেয় না। আমি যেমন বুঝতে পেরেছি আপনি উপাদানগুলির সংখ্যা পাওয়ার জন্য এই অ্যারেটি স্কেলার প্রসঙ্গে ($ @ + - আপনি কী এটিকে অবলম্বন করছেন?) ব্যবহার করুন এবং তারপরে ম্যাচযুক্ত স্ট্রিং (& 1) যুক্ত করুন। না না না আমি জানতাম আমার পিপিসিজি তে পোস্ট করা উচিত ছিল না এটি খুব
অবহেলিত

$@এটি কেবল একটি স্কেলার (আমি ব্যবহার করতে পারতাম $xবা অন্য কোনও স্কেলার), ++ইনক্রিমেন্ট অপারেটর এবং &1মোটামুটি একই %2। সুতরাং এটি মূলত একই $x++%2
দাদা

সুতরাং আপনি @স্কেলার ভেরিয়েবল নামের জন্য ব্যবহার করছেন ; "এবং" এটি শেষ কি না তা পরীক্ষা করার জন্য "এবং" শেষ বিটটি ইনগ্রেড করুন (এবং আমি যেমন ভাবি তেমন পিছনে নেই)। ধন্যবাদ ঠিক আছে এখন, ধন্যবাদ।
আল.জি.

সুন্দর সমাধান। $|-- পরিবর্তে টগল হিসাবে ব্যবহার করে আপনি আরও কিছু বাইট অর্জন করতে পারেন$@++%2
টন হসপেল

1

বাশ + কোর্টিলস, 106 বাইট:

for i in `seq $1`;{ printf "I %s %s " `((i%2>0))&&echo hate||echo love` `((i==$1))&&echo it.||echo that`;}

কেবল অন্তর্নির্মিতটি 1ইনপুট পূর্ণসংখ্যার শুরু পর্যন্ত শুরু করে seqএবং তারপরে একে একে পুনরাবৃত্তি করে, প্রথম আউটপুট hateযদি পুনরুক্তি পরিবর্তকের মান i, 2এবং loveঅন্যথায় বিভাজ্য না হয়। একই পুনরাবৃত্তির, এটা তারপর আউটপুট চয়ন thatযদি iইনপুট মান সমান নয়, আর it.অন্যথায়।

এটি অনলাইন চেষ্টা করুন! (Ideone)


কমান্ড বিকল্পগুলি সরাসরি printfস্ট্রিংয়ে রেখে আরও ভাল ফর্ম্যাট নির্দিষ্টকরণ ব্যবহার করে না। তুলনা করা হবে কিনা তা অর্থহীন i%2হয় 0. তার চেয়ে অনেক বেশী আমি তোমাদের তালিকায় কমান্ড বিপরীত আপনি পরিবর্তে তুলনা কম ব্যবহার করতে পারেন i==$1: for i in `seq $1`;{ printf "I `((i%2))&&echo hat||echo lov`e `((i<$1))&&echo that||echo it.` ";}। যাইহোক, আমরা সাধারণত ব্যাশ + কোর্টিল হিসাবে এই জাতীয় সমাধানগুলি লেবেল করি কারণ এর ব্যবহার seq
manatwork

1

///, 60 57 বাইট

/!/I hate //T/that //
/it.//00/!TI love T//Tit./it.//0/!/

-৩ বাইট ধন্যবাদ এম-ক্রজানকে

নতুন লাইনের পিছনে আনারিতে ইনপুট।

এটি অনলাইন চেষ্টা করুন!


আপনি /T/that /শুরুতে যুক্ত করতে পারেন এবং এর that সাথে সমস্ত দৃষ্টান্ত প্রতিস্থাপন করতে পারেন T
এম-ক্রজন

0

আর, 92 90 বাইট

@ লিকি নুনের অজগর উত্তরটির একটি আর অভিযোজন। আর তে স্ট্রিং নিয়ে কাজ করা বরাবরের মতো ক্লান্তিকর।

n=scan();cat(rep(strsplit("I hate that I love that ","")[[1]],n)[6:(n*12)-5],"it.",sep="")

এটি সম্ভবত আরও গল্ফ করা যেতে পারে।

সম্পাদনা করুন: পরিবর্তন করে 2 বাইট সংরক্ষণ করা:

[1:((n*12)-5)]থেকে [6:(n*12)-5]


পরিবর্তে এটি লুপ আরও ভাল কাজ করে; আমার বিকল্প আর সমাধান দেখুন।
জেডিএল

0

সি, 96 বাইট

c;f(i){printf("I hate");for(;c<i+1/2-1;c++)printf(" that I %s",c&1?"hate":"love");puts(" it.");}

আমি হিলিয়াম নিউক্লি মুক্তি দেওয়ার উপরের সমাধানটি দেখতে পাই নি যা আরও ভাল which


0

এমএটিএল , 37 বাইট

:"2@o3]Qv'hate I that it. love'Ybw)Zc

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

কোডটি সংখ্যা থেকে স্ট্রিংয়ে নিম্নলিখিত ম্যাপিংয়ের উপর ভিত্তি করে:

0: 'love'
1: 'hate'
2: 'I'
3: 'that'
4: 'it.'

প্রোগ্রাম তিনটি দলের মধ্যে স্ট্রিং সংখ্যার পাহাড় জমে: 2, 0, 3; তারপর 2, 1, 3; তারপর 2, 0, 3; ... যতবার ইনপুট n। এর পরে, ফাইনালটি 3একটিতে রূপান্তরিত হয় 4, ম্যাপিংটি সংখ্যাকে স্ট্রিংয়ে রূপান্তর করতে প্রয়োগ করা হয় এবং স্ট্রিংগুলি পৃথক হিসাবে স্থান ব্যবহার করে যুক্ত হয়।

:                         % Input n implicitly. Push range [1 2 ... n]
"                         % For each
  2                       %   Push 2
  @o                      %   Iteration index modulo 2: pushes 0 or 1
  3                       %   Push 3
]                         % End
Q                         % Add 1 to the last 3
v                         % Concatenate stack contents into a numeric column vector
'hate I that it. love'    % Push this string
Yb                        % Split at spaces. Gives a cell array of five strings
w                         % Swap to move numeric vector to top
)                         % Index cell array of strings with that vector. Indexing
                          % is 1-based and modular, so 0 refers to the last string.
                          % This gives a cell array of (repeated) strings
Zc                        % Join those strings by spaces. Display implicitly


0

সি #, 85 83 বাইট

string f(int n,int m=2)=>"I "+(1>m%2?"hat":"lov")+(m>n?"e it.":"e that "+f(n,m+1));

কোন ঘৃণা / প্রেম এবং কতগুলি সংযুক্ত করতে হবে তা রাখার জন্য একটি alচ্ছিক প্যারামিটার ব্যবহার করে পুনরাবৃত্তভাবে স্ট্রিংটি তৈরি করে।

কোনও সংখ্যার সমতা / বিজোড়তা পরীক্ষা করার জন্য এই টিপ থেকে -2 বাইট-

কোনও alচ্ছিক প্যারামিটার সমাধান নয়, 87 86 84 বাইট

string h(int n)=>"I "+(0<n?"hat":"lov")+(2>n&-2<n?"e it.":"e that "+h(0<n?~n+2:~n));

প্যারামিটারটি ইতিবাচক বা নেতিবাচক কিনা তার ভিত্তিতে কোন ঘৃণা / প্রেমকে যুক্ত করতে হবে তা নির্ধারণ করা ব্যতীত এটি একই কাজ করে। প্রতিটি পুনরাবৃত্তির প্যারামিটারটি শূন্যের নিকটে আসে, বিকল্প চিহ্ন sign


0

থু, 100 বাইট

@::=:::
>##::=>$.
$::=~I hate that I love 
>.#::=>&#
&::=~that 
>#<::=~I hate it.
>.<::=~it.
::=
>@<

অবিচ্ছিন্ন হিসাবে ইনপুট নেয়। (এন #এর একটি স্ট্রিং )


0

পাইকে, 36 বাইট

2/"I hate ""I love "]*"that "J"it."+

এখানে চেষ্টা করুন!

2/                                   -    input/2
                     *               -   ^ * v
  "I hate ""I love "]                -    ["I hate ", "I love "]
                      "that "J       -  "that ".join(^)
                              "it."+ - ^+"it."

এছাড়াও 36 বাইট

12*5+.daෆ   ű   l5d+12"I ":Q*<"it."+

এখানে চেষ্টা করুন! (লিংক ব্যবহার Xপরিবর্তে I, এই বাইট একই পরিমাণ অফলাইনে যেখানে আপনি আক্ষরিক ঐ বাইট ব্যাবহার করতে পারে কাজ করা উচিত। অনলাইন \rস্বয়ংক্রিয়ভাবে প্রতিস্থাপিত পরার \n)


0

> <> (ফিশ), 82 বাইট

' I'oov.2coo<;oooo' it.'<
'ahv'v>'et'
oop26<^ooooo^o' that I '^!?:-1oo
'ol^'^>'ev'

সন্দেহ এটি খুব দক্ষ, তবে এটি কমবেশি কাজ বলে মনে হচ্ছে। ইনপুটটি শুরু স্ট্যাকের মাধ্যমে হয় যা 85 টি বাইট তৈরি করে যদি আপনি এটির জন্য -vপ্রয়োজনীয় যুক্তির আকার অন্তর্ভুক্ত করেন ।

এটি অনলাইন চেষ্টা করুন!


0

লুয়া, 75 বাইট

n=io.read();print(('I hate that I love that '):rep(n):sub(1,n*12-5)..'it.')

1
পরিবর্তে স্ট্যাটিক পদ্ধতি ভাল ব্যবহার উদাহরণস্বরূপ পদ্ধতি: ('I hate that I love that '):rep(n):sub(1,n*12-5)। আপনি যদি এটি "সম্মতি" দেন তবে আরও সুন্দর লাগবে। শেষ পর্যন্ত, কারণ print()এর পরামিতিগুলি ট্যাব দ্বারা পৃথক করে আউটপুট দেয়।
manatwork

1
দ্য ';' io.read () এবং মুদ্রণের মধ্যে অপ্রয়োজনীয়, এবং আর্গ [2] লুয়া স্ক্রিপ্টগুলির জন্য একটি বৈধ ইনপুট পদ্ধতি, যা প্রথম কমান্ড লাইন আর্গুমেন্ট।
এটাকো


0

ডিসি, 75 বাইট

?[1-lbP[I lov]P]sa[e that ]sb[[e it.]Pq]sc[1-[I hat]Pd2%1=ad1>clbPlxx]dsxx

আমরা এখানে সত্যিই কেবল এক বার স্ট্রিং মুদ্রণ করছি, এবং স্ট্যাকের উপর কোনও আবর্জনা রেখে যাচ্ছি না। এটি দুর্দান্ত, আমাদের কাউন্টারে কোনও রেজিস্টার নিয়ে কোনও বাইট নষ্ট করার দরকার নেই।

?                              #Input, works as our decrement counter
[1-lbP[I lov]P]sa              #Macro 'a' decrements our counter, prints string 'b', 
                               #then prints 'I lov'
[e that ]sb                    #String 'b'
[[e it.]Pq]sc                  #Macro 'c' prints the tail end of our message and quits
[1-                            #I'll unfold our main macro here; first step is to 
                               #decrement our counter
   [I hat]P                    #We always start by hating 'it,' no conditional needed
           d2%1=a              #Check the oddness of our counter; execute 'a' if odd
                 d1>c          #Check our counter; If we're done, execute 'c'
                     lbPlxx]   #Otherwise, print 'b' again and start this macro ('x') over
dsxx                           #Stores the above macro as 'x' and runs it.

0

জুলিয়া, 91 বাইট

ভেবেছিলাম আমি একটি জুলিয়া সমাধান যুক্ত করব:

f(N)=string("I hate ",join(["that I love that I hate " for _ in 1:N-1])[1:12*(N-1)],"it."))
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.