একটি সংখ্যা খুশি কিনা তা সন্ধান করুন?


21

একটি শুভ সংখ্যা নিম্নলিখিত প্রক্রিয়া দ্বারা সংজ্ঞায়িত করা হয়। যেকোন ধনাত্মক পূর্ণসংখ্যার সাথে শুরু করে, এটির সংখ্যাগুলির স্কোয়ারের যোগফলের মাধ্যমে সংখ্যাটি প্রতিস্থাপন করুন এবং সংখ্যাটি 1 (যেখানে এটি থাকবে) সমান হওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করুন, বা এটি অন্তর্ভুক্ত নয় এমন চক্রের মধ্যে লুপ করে যা ১ টি অন্তর্ভুক্ত নেই Those যার জন্য এই প্রক্রিয়াটি 1 এ শেষ হয় তারা হ্যাপি সংখ্যায়, যখন 1 এর মধ্যে শেষ হয় না তারা হ'ল অসুখী সংখ্যা (বা দুঃখের সংখ্যা)। একটি নম্বর মুদ্রণ দেওয়া হয়েছে তা খুশি বা অসন্তুষ্ট কিনা।

Sample Inputs
7
4
13

Sample Outputs
Happy
Unhappy
Happy

দ্রষ্টব্য: আপনার প্রোগ্রামটি 10,000,000,000 এর নীচে যে কোনও সংখ্যার জন্য 10 সেকেন্ডের বেশি নেওয়া উচিত নয়।

উত্তর:


8

গল্ফস্ক্রিপ্ট - 34 অক্ষর

~{0\`{48-.*+}/}9*1="UnhH"3/="appy"

মূলত এই এবং এই হিসাবে একই ।

9 টি পুনরাবৃত্তির কারণ এই মন্তব্যগুলিতে বর্ণিত হয়েছে (এটি তাত্ত্বিকভাবে প্রায় 10^10^10^974( A001273 ) পর্যন্ত সঠিক মান প্রদান করে )।


11

রুবি, 77 টি অক্ষর

a=gets.to_i;a=eval"#{a}".gsub /./,'+\&**2'until a<5
puts a<2?:Happy: :Unhappy

ঠিক আছে, সুতরাং আমি কীভাবে এটি কাজ করে তা দেখতে পেয়েছি (আক্ষরিকভাবে প্রতিটি সংখ্যা নেওয়া, এটি বিভক্ত করা এবং প্রতিটি অঙ্কের বর্গ যোগ করা), তবে (a <5) এর স্টপ শর্তের সাথে এবং (খুশী কিনা তা স্থির করার জন্য (a <2) কী ব্যবহার করা যায় অথবা না? আমি বৈধতা নিয়ে প্রশ্ন করি না, কেবল যুক্তি দিয়ে।
মিঃ লালমা

2
a <= 4ও হিসাবে একই a <= 1। চক্রটির যদি এটিতে 1 থাকে তবে এটি খুশি এবং যদি এর মধ্যে 4 থাকে তবে এটি খুশি হয় না। অসুখী চক্র সম্পর্কে উইকিপিডিয়া বিভাগটি দেখুন । সুতরাং একবার এর মান a4 বা তার চেয়ে কম হয়ে গেলে, তিনি যদি একটি হয় কিনা তা পরীক্ষা করে দেখুন - এর ফলাফলটি আপনার উত্তর।
কেসি

8

সি - 115

char b[1<<30];a;main(n){for(scanf("%d",&n);b[n]^=1;n=a)for
(a=0;a+=n%10*(n%10),n/=10;);puts(n-1?"Unhappy":"Happy");}

চক্রটিতে কোন সংখ্যার মুখোমুখি হয়েছে তা ট্র্যাক রাখতে এটি বিটম্যাপ হিসাবে একটি 2 30- বাইট (1 গিগাবাইট) অ্যারে ব্যবহার করে । লিনাক্সে, এটি প্রকৃতপক্ষে কার্যকর হয় এবং দক্ষতার সাথে, সরবরাহিত মেমরির ওভার কমিটিং সক্ষম করা থাকে (এটি সাধারণত এটি ডিফল্টরূপে থাকে)। অতিরিক্ত কমিটিকরণের সাথে অ্যারের পৃষ্ঠাগুলি বরাদ্দ করা হয় এবং চাহিদা অনুসারে শূন্য হয়।

নোট করুন যে লিনাক্সে এই প্রোগ্রামটি সংকলন করতে একটি গিগাবাইট র‍্যাম ব্যবহার করা হয়।


1
এই সমস্যার জন্য আপনার এত পরিমাণ মেমরির কেন দরকার হবে?
পিটার ওলসন

1
@ পিটার: আমি অনুমান করি যে এই পদ্ধতিটি (নির্গতভাবে) অনুমোদিত ইনপুট পরিসীমা 1 থেকে 1,000,000,000 পর্যন্ত কোনও সংখ্যার জন্য একটি চক্র ধরবে। তবে আমি সম্মত হই যে খুশি সংখ্যা তত্ত্বের আলোকে, 4 নম্বরে পৌঁছে গেলে কেবলমাত্র চেক প্রয়োজন, কারণ এটিই কেবল একমাত্র চক্র যা ঘটবে।
মেল্লামোকব

আমি কৌতূহলী: কেন এটি সংকলন করতে এত র‌্যাম লাগবে?
পিটার টেলর

1
উইন্ডোজ on তে এমএসভিসি ১০ দিয়ে দুর্দান্ত কাজ করার জন্য প্রদর্শিত হয় 10 সংকলন করার সময় কোনও উল্লেখযোগ্য পরিমাণের স্মৃতি গ্রাহ্য করে না এবং কেবল পৃষ্ঠা ফাইলটিতে অ্যারে চিহ্নিত করে (এমন কিছু যা আপনি মেমরির ওভারকমিটিংয়ের সাথে সংযুক্ত গল্পের চেয়ে নিরাপদ বলে মনে করেন ;-)) ।
জো

1
আমি এই পদ্ধতির নির্লজ্জ ভালবাসি। এবং লুপগুলির জন্য অপব্যবহারটি সুন্দর।
dmckee


6

গল্ফস্ক্রিপ্ট, 49 43 41 40 39 অক্ষর

~{0\10base{.*+}/.4>}do(!"UnhH"3/="appy"

প্রতিটি খুশি সংখ্যা 1 এ রূপান্তর করে; প্রতিটি অসুখী সংখ্যা ৪ টি ধারণ করে একটি চক্রে রূপান্তরিত করে that এই সত্যটিকে কাজে লাগানো ব্যতীত, এটি সবেমাত্র গল্ফ হয়।

(ভেন্টোরোর ধন্যবাদ, যার রুবি সমাধান থেকে আমি একটি কৌশল উপভোগ করেছি এবং 6 টি অক্ষর সংরক্ষণ করেছি)।


5

ইটেক্স, 153

\let~\def~\E#1{\else{\fi\if1#1H\else Unh\fi appy}\end}~\r#1?{\ifnum#1<5
\E#1\fi~\s#1{0?}}~\s#1{+#1*#1\s}~~{\expandafter\r\the\numexpr}\message{~\noexpand

নামে পরিচিত etex filename.tex 34*23 + 32/2 ?(শেষে প্রশ্ন চিহ্ন সহ)। অভিব্যক্তির ফাঁকা জায়গাগুলি কোনও বিষয় নয়।

সম্পাদনা: আমি 123 এ নেমেছি, তবে এখন আউটপুটটি ডিভিআই (যদি সংকলিত থাকে etex) বা পিডিএফ (যদি সংকলিত থাকে pdfetex)। যেহেতু টেক্স একটি টাইপসেটিং ভাষা, আমি অনুমান করি যে এটি ন্যায্য।

\def~{\expandafter\r\the\numexpr}\def\r#1?{\ifnum#1<5 \if1#1H\else
Unh\fi appy\end\fi~\s#1{0?}}\def\s#1{+#1*#1\s}~\noexpand

4

পাইথন - 81 টি অক্ষর

n=input()
while n>4:n=sum((ord(c)-48)**2for c in`n`)
print("H","Unh")[n>1]+"appy"

ভেন্টোরো এবং পিটার টেলরের কাছ থেকে নেওয়া কিছু অনুপ্রেরণা।


2
.... এর int(c)চেয়ে বেশি কিছু করা ভালord(c)-48
st0le

4

জাভাস্ক্রিপ্ট ( 94 92 87 86)

do{n=0;for(i in a){n+=a[i]*a[i]|0}a=n+''}while(n>4);alert(['H','Unh'][n>1?1:0]+'appy')

পছন্দসই সংখ্যাটিতে একটি সেট করে ইনপুট সরবরাহ করা হয়।

মেলামোকবকে কৃতিত্ব।


1 চর সংরক্ষণ করুন:n==4?h="Unh":n==1?h="H":a=n+""}alert(h+"appy")
মেল্লামব্যাক

@ মেলা ধন্যবাদ আমিও পরিবর্তন করে অন্য গৃহস্থালির কাজ বন্ধ চাঁচা ||করতে |
পিটার ওলসন

8 টি অক্ষর সংরক্ষণ করুন: সরান n==4?h...। শর্ত সহ লুপ করার সময় ... করতে পরিবর্তন করুন while(n>4)। তারপরে পরিবর্তে এই চূড়ান্ত বিবৃতিটি ব্যবহার করুন:alert(["H","Unh"][n>1?1:0]+"appy")
মেল্লামোকব

@ মেলা চতুর, আমি এটি পছন্দ করি।
পিটার ওলসন

@ মেল্লা এনকে কিছুক্ষণ লুপের আগে সংজ্ঞায়িত করা দরকার, আমি কীভাবে পুনরাবৃত্তি করবেন না তা ভেবে দেখার চেষ্টা করছিn=0;
পিটার অলসন ২

4

পাইথন (98, কিন্তু ভাগ না করে খুব গণ্ডগোল হয়েছে)

f=lambda n:eval({1:'"H"',4:'"Unh"'}.get(n,'f(sum(int(x)**2for x in`n`))'))
print f(input())+"appy"

উপায়, প্রতিযোগিতামূলক হতে অনেক দীর্ঘ, তবে হাসির পক্ষে সম্ভবত ভাল good এটি পাইথনে "অলস" মূল্যায়ন করে। হাস্কেল এন্ট্রির সাথে এখন সত্যিই বেশ অনুরূপ যে আমি এটি সম্পর্কে চিন্তা করি, কেবল কোনও কবজ ছাড়াই।


4

ডিসি - 47 অক্ষর

[Unh]?[[I~d*rd0<H+]dsHxd4<h]dshx72so1=oP[appy]p

সংক্ষিপ্ত বিবরণ:

I~10 দ্বারা ভাগ করার সময় ভাগফল এবং বাকীটি পান: বাকীটি
d*স্কোয়ার করুন।
0<H: ভাগফল 0 এর চেয়ে বড় হলে পুনরাবৃত্তি করুন।
+: পুনরাবৃত্তাকার স্ট্যাক সঙ্কুচিত করার সময় মানগুলি যোগ করুন।

4<h: মান 4 এর চেয়ে বেশি বর্ধমানের স্কোয়ার বিটের পুনরাবৃত্তি করুন।


4

বেফুঞ্জ, 109

1 <= n <= 10 9 -1 এর জন্য সঠিক মানগুলি প্রদান করে ।

v v              <   @,,,,,"Happy"<      >"yppahnU",,,,,,,@
>&>:25*%:*\25*/:#^_$+++++++++:1-!#^_:4-!#^_10g11p

3

জে, 56

'Happy'"_`('Unhappy'"_)`([:$:[:+/*:@:"."0@":)@.(1&<+4&<)

প্রশ্নটি দ্বিধাগ্রস্ত হওয়ায় একটি স্বতন্ত্র স্ক্রিপ্টের পরিবর্তে একটি ক্রিয়া।

ব্যবহার:

   happy =: 'Happy'"_`('Unhappy'"_)`([:$:[:+/*:@:"."0@":)@.(1&<+4&<)
happy =: 'Happy'"_`('Unhappy'"_)`([:$:[:+/*:@:"."0@":)@.(1&<+4&<)
   happy"0 (7 4 13)
happy"0 (7 4 13)
Happy  
Unhappy
Happy  

3

স্কালা, 145 অক্ষর

def d(n:Int):Int=if(n<10)n*n else d(n%10)+d(n/10)
def h(n:Int):Unit=n match{
case 1=>println("happy")
case 4=>println("unhappy")
case x=>h(d(x))}

1
(n*n)হিসাবে সংক্ষিপ্ত হবে না n*n , বা সাদা থেকে একটি ইফ-এক্সপ্রেশন পৃথক পৃথক যথেষ্ট else?
পিটার টেলর

হ্যাঁ, আমি তাই করেছি, পিটার।
ব্যবহারকারী অজানা

প্যাটার্ন মেলানো ছাড়াই এখানে একটি 126 বাইট লেজ-পুনরাবৃত্তি সংস্করণ রয়েছে:def h(s: String):String=if(s=="1")"H"else if(s=="4")"Unh"else h(s.map(_.asDigit).map(a=>a*a).sum+"");print(h(readLine)+"appy")
ইনফিনিটি 8

@ 6 ইনফিনিটি 8: আপনি কেন এটি নতুন উত্তর হিসাবে পোস্ট করেন না?
ব্যবহারকারী অজানা

প্রাথমিক পোস্টটি পুরানো; আমি কেবল আপনার সমাধানটি উন্নত করার চেষ্টা করছিলাম।
ইনফিনিটি 8

3

জে (50)

'appy',~>('Unh';'H'){~=&1`$:@.(>&6)@(+/@:*:@:("."0)@":)

আমি নিশ্চিত যে এটিকে আরও খাটো করে তুলতে পারার চেয়ে আরও যোগ্য জে-এআর। আমি আপেক্ষিক নবীন।

নতুন এবং উন্নত:

('Unhappy';'Happy'){~=&1`$:@.(>&6)@(+/@:*:@:("."0)@":)

আরও নতুন এবং আরও উন্নত, toউসকে ধন্যবাদ:

(Unhappy`Happy){~=&1`$:@.(>&6)@(+/@:*:@:("."0)@":)

1
'অ্যাপি' বিভক্ত না করে আপনি একটি চরিত্র পেতে পারেন। আমি মনে করি আপনি কাছাকাছি থাকা প্রথম বন্ধনীগুলিও মুছে ফেলতে পারেন ("।" 0) - সংজ্ঞাগুলির চেয়ে অ্যাডওয়্যারগুলি বাঁধাই শক্ত ind
জেসি মিলিকান

আমি আশেপাশে প্রথম বন্ধনীগুলি সরাতে পারি না ("."0)। এটি একটি র‌্যাঙ্ক ত্রুটি সৃষ্টি করে, তবে আমি যদি 'হ্যাপি' বিভক্ত না করি এবং ফলাফলটি বাক্সে ছেড়ে না রাখি তবে আমি একটি অক্ষর সংরক্ষণ করতে পারি।
গ্রেগরি হিগলি

আমি যে কারণে প্রথম বন্ধনীর হাতটি ছাড়তে পারি না তা ("."0)হ'ল তারা যে ক্রিয়াগুলির সাথে সংযুক্ত রয়েছে তার পুরো পূর্ববর্তী ট্রেনের সাথে সংযোগগুলি প্রয়োগ করে, যা আমি চাই না। যদি আমি বলি +/@:("."0)@":, এটির থেকে খুব আলাদা +/@:"."0@:, যা আসলে (+/@:".)"0@:
গ্রেগরি হিগলি

1
একটি বৃহদায়তন necro, কিন্তু আপনি প্রতিস্থাপন 4 অক্ষর সংরক্ষণ করতে পারিনি 'Unhappy';'Happy'সঙ্গে Unhappy`Happy
Decuʎs

@ `uʎs এটি কাজ করে তবে কোথায় নথিবদ্ধ হয় যে আপনি `দিয়ে স্ট্রিংয়ের উদ্ধৃতিটি এড়াতে পারবেন?
গ্রেগরি হিগলে


2

কমন লিস্প 138

(format t"~Aappy~%"(do((i(read)(loop for c across(prin1-to-string i)sum(let((y(digit-char-p c)))(* y y)))))((< i 5)(if(= i 1)"H""Unh"))))

আরও পঠনযোগ্য:

(format t "~Aappy~%"
        (do
          ((i (read)
              (loop for c across (prin1-to-string i)
                    sum (let
                          ((y (digit-char-p c)))
                          (* y y)))))
          ((< i 5) (if (= i 1) "H" "Unh"))))

"হ্যাপি" বা "অসন্তুষ্ট" সরাসরি থেকে ফিরে আসতে সংক্ষিপ্ত হবে (do), তবে তর্কসাপেক্ষভাবে এটি পুরো প্রোগ্রাম হিসাবে গণ্য হবে না



2

জেলি , 17 বাইট (প্রতিদ্বন্দ্বী *)

* ভাষার পরবর্তী তারিখের চ্যালেঞ্জ

D²SµÐLỊị“¢*X“<@Ḥ»

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

কিভাবে?

D²SµÐLỊị“¢*X“<@Ḥ» - Main link: n
   µÐL            - loop while the accumulated unique set of results change:
D                 -   cast to a decimal list
 ²                -   square (vectorises)
  S               -   sum
                  - (yields the ultimate result, e.g. n=89 yields 58 since it enters the
                  -  "unhappy circle" at 145, loops around to 58 which would yield 145.)
      Ị           - insignificant? (abs(v)<=1 - in this case, 1 for 1, 0 otherwise)
        “¢*X“<@Ḥ» - dictionary lookup of ["Happy", "Unhappy"] (the central “ makes a list)
       ị          - index into
                  - implicit print

1

পার্ল 5 - 77 বাইট

{$n=$_*$_ for split//,$u{$n}=$n;exit warn$/.'un'[$n==1].'happy'if$u{$n};redo}

। n হ'ল ইনপুট মান


1

05 এ বি 1 ই , 21 বাইট

'ŽØs[SnOD5‹#}≠i„unì}™

এটি অনলাইনে চেষ্টা করুন বা প্রথম 100 টি পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

প্রতিটি সংখ্যার ফলস্বরূপ হয় হয় 1বা হয় 4, সুতরাং আমরা অনির্দিষ্টকালের জন্য লুপ করব এবং সংখ্যাটি 5 এর নিচে যাওয়ার সাথে সাথে বন্ধ হয়ে যাবে।

'ŽØ                    '# Push string "happy"
   s                    # Swap to take the (implicit) input
    [       }           # Loop indefinitely
     S                  #  Convert the integer to a list of digits
      n                 #  Square each
       O                #  Take the sum
        D5‹#            #  If this sum is smaller than 5: stop the infinite loop
             i    }    # If the result after the loop is NOT 1:
               unì     #  Prepend string "un" to string "happy"
                       # Convert the string to titlecase (and output implicitly)

আমার এই 05AB1E টিপটি দেখুন (অভিধানটি কীভাবে ব্যবহার করবেন? ) কেন 'ŽØতা বোঝার জন্য "happy"


0

সি ++ 135, 2 লাইন

#include<iostream>
int n,i,j;int main(){for(std::cin>>n;n>1;n=++j&999?n*n+i:0)for(i=0;n/10;n/=10)i+=n%10*(n%10);std::cout<<(n?"H":"Unh")<<"appy";}

এটি আমি এখানে যা করেছি তার একটি পরিবর্তিত সংস্করণ:

/programming/3543811/code-golf-happy-primes/3545056#3545056


কি করবে &999? এবং jআবর্জনার মূল্য হলে এটি কীভাবে কাজ করবে ?
ডেভিড মনিকাকে

@ ডিজ্রিন 91 91, আমি এটি 3 বছর আগে লিখেছিলাম, সুতরাং এটি ঠিক কীভাবে কাজ করে তা আমি মনে করতে পারি না। আমি মনে করি যে & 999 বিবৃতি দেয় if(j==999){n = 0;}else{n=n*n +i;}, জ জঞ্জালের মান হওয়া উচিত নয়, গ্লোবালগুলি শূন্যের সূচনা হয়।
স্কট লোগান

0

হ্যাঁ, এই চ্যালেঞ্জটির তিন বছর রয়েছে; হ্যাঁ, এর ইতিমধ্যে একটি বিজয়ী উত্তর রয়েছে; তবে যেহেতু আমি বিরক্ত হয়েছি এবং এটি অন্য চ্যালেঞ্জের জন্য করেছি, তাই আমি ভেবেছিলাম যে আমি এটি এখানে রেখে দেব। আশ্চর্য অবাক, এটি দীর্ঘ - এবং মধ্যে ...

জাভা - 280 264 বাইট

import java.util.*;class H{public static void main(String[]a){int n=Integer.parseInt(new Scanner(System.in).nextLine()),t;while((t=h(n))/10!=0)n=t;System.out.print(t==1?"":"");}static int h(int n){if(n/10==0)return n*n;else return(int)Math.pow(n%10,2)+h(n/10);}}

Ungolfed:

import java.util.*;

class H {

    public static void main(String[] a) {
        int n = Integer.parseInt(new Scanner(System.in).nextLine()), t;
        while ((t = h(n)) / 10 != 0) {
            n = t;
        }
        System.out.print(t == 1 ? "" : "");
    }

    static int h(int n) {
        if (n / 10 == 0) {
            return n * n;
        } else {
            return (int) Math.pow(n % 10, 2) + h(n / 10);
        }
    }
}

0

সি # 94 বাইট

int d(int n)=>n<10?n*n:(d(n%10)+d(n/10));string h(int n)=>n==1?"happy":n==4?"unhappy":h(d(n));

যে কোনও প্রদত্ত সংখ্যার (হিসাবে int) h()জন্য সঠিক মানটি প্রদান করবে। আপনি। নেটফিডেলে কোডটি চেষ্টা করতে পারেন । ।

মূল অ্যালগরিদমের জন্য অজানা ব্যবহারকারীর কাছে কুডোস ।


0

ক্লোজার, 107 97 বাইট

আপডেট: অপ্রয়োজনীয় letবাঁধাই মুছে ফেলা হয়েছে ।

#(loop[v %](case v 1"Happy"4"Unhappy"(recur(apply +(for[i(for[c(str v)](-(int c)48))](* i i))))))

মূল:

#(loop[v %](let[r(apply +(for[i(for[c(str v)](-(int c)48))](* i i)))](case r 1"Happy"4"Unhappy"(recur r))))

নেস্টেড ব্যবহার করে প্রথম for: ও


0

আর, 117 91 বাইট

-16 বাইট জিউসেপ্পিকে ধন্যবাদ

a=scan();while(!a%in%c(1,4))a=sum((a%/%10^(0:nchar(a))%%10)^2);`if`(a-1,'unhappy','happy')

1
strtoiপরিবর্তে as.numericএবং pasteপরিবর্তে ব্যবহার করুন as.character, তবে সংখ্যাগুলি পেতে একটি সংক্ষিপ্ত পদ্ধতি রয়েছে । আপনি যদি `if`(a-1,"unhappy","happy")পরিবর্তে এটি ব্যবহার করেন তবে এটি অন্য একটি বাইট সংরক্ষণ করবে। অবশেষে, আপনি আরও কিছু বাইট শেভ করার জন্য এটি বেনামে রাখতে পারেন।
জিউসেপ



-1

সি: 1092 টি অক্ষর

#include <iostream>
using namespace std ;
int main ()
{
    int m , a[25] , kan=0 , y , z=0  , n , o=0, s , k=0 , e[25]  ;
    do {
m :
        for ( int j=1 ; j <10000 ; j++ )
        {   
n:
            for (int i=0 ; j!=0 ; i++ )
            {
                a[i]=j%10 ;
                j/=10 ;
                kan++ ;
            }
            for ( int i=0 ; i<kan ; i++ )
            {
                y=a[i]*a[i] ;
                z+=y ;
            }
            k+=1 ;
            if (z==1)
            {
              cout<<j<<endl;
               o++ ;
            }

            else 
            {   
                 for (int f=0 ; f<k ; f++ )
                 {
                     e[f]=z ;
                 }
                 for ( int f=0 ; f=k-1 ; f++ )
                 {
                     for ( int p=f+1 ; p <k-1 ; p++ )
                     {
                         if(e[f]=e[p])
                             goto m ;
                         else { j=z ; goto n ; } 
                     }
                 }
            }
        }
    }while(o!=100) ;
    return 0 ;
}

6
প্রোগ্রামিং প্রহেলিকা এবং কোড গল্ফ, @ জজনাত এ আপনাকে স্বাগতম। দয়া করে নোট করুন যে কোড গল্ফ সম্ভব সবচেয়ে সংক্ষিপ্ত কোডটি লেখার চ্যালেঞ্জ। এর অর্থ, এখানে আমরা আন-বিহীন এবং প্রায় অপঠনযোগ্য কোড লিখি এবং ভাষা বাক্য গঠনের সীমাটি আমাদের কোডগুলি যতটা সম্ভব সংক্ষিপ্ত করতে বাধ্য করে।
manatwork

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.