0 এবং n এর মধ্যে সমস্ত প্যালিনড্রমিক সংখ্যা (দশমিকায়) গণনা করুন


11

একটি অ-নেতিবাচক পূর্ণসংখ্যা n দেওয়া হয়েছে, 0 এবং n (অন্তর্ভুক্ত ব্যাপ্তি) এর মধ্যে সমস্ত প্যালিনড্রমিক সংখ্যা (দশমিকায়) গণনা করুন। অঙ্কগুলি বিপরীত হলে একটি প্যালিনড্রমিক নম্বর একই থাকে।

প্রথম প্যালিনড্রমিক নম্বর (বেস 10 এ) এখানে দেওয়া হয়েছে :

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, 212, 222, 232, 242, 252, 262, 272, 282, 292, 303, 313, 323, 333, 343, 353, 363, 373, 383, 393, 404, 414, 424, 434, 444, 454, 464, 474, 484, 494, 505, 515, ...

এটি একটি কোড গল্ফ যা পুরষ্কারটি স্বল্পতম চরিত্রগুলিতে চলে। প্যালিনড্রমিক সংখ্যাগুলি স্টাডাউটের প্রতি লাইন এক আউটপুট হওয়া উচিত। প্রোগ্রামটি কমান্ডলাইন বা স্টিডিন থেকে এন পড়তে হবে।


3
1 এবং n এর মধ্যে (শিরোনাম অনুসারে) বা 0 এবং n (শরীরের হিসাবে)? এবং "মধ্যে" সীমানা কোনটি অন্তর্ভুক্ত করে?
পিটার টেলর

@ নোক: আপনি এখনও উত্তর দেননি এটি অন্তর্ভুক্তি বা একচেটিয়া পরিসীমা? হয় nপরিসীমা অংশ অন্তর্ভুক্ত করা?
মেল্লামব্যাক

@ মেল্লামোকব ইনক্লুসিভ রেঞ্জ।
ওক

উত্তর:


7

গল্ফস্ক্রিপ্ট, 15 টি অক্ষর

~),{.`-1%~=},n*

আপনি সংখ্যার '~), {`।-1% = n, n *' এর পরিবর্তে একটি চরের সাথে তুলনা করার স্ট্রিং সংরক্ষণ করতে পারেন।
হাওয়ার্ড

@ হওয়ার্ড, আপনি যদি পোস্ট করতে চান তবে নিজেই এটি উত্সাহিত করব।
পিটার টেলর

এটি সরল অনুলিপি করার মতো মনে হবে ;-)
হাওয়ার্ড

10

পার্ল 5.10, 29 (বা 39) অক্ষর

say for grep$_==reverse,0..<>

প্রয়োজন sayবৈশিষ্ট্যটি সক্ষম। 29 টি চরিত্র যদি আপনি এটিকে নিখরচায় বিবেচনা করেন, অন্যথায় 39 টি যোগ করুন use 5.010;। STDIN এ যুক্তি।

পার্ল, 35 টি অক্ষর

#!perl -l
print for grep $_==reverse,0..<>

পুরানো পার্লগল্ফ কনভেনশন ব্যবহার করে যা #!perlগণনা করা হয় নি তবে এটি অনুসরণ করা কোনও পতাকা রয়েছে।

পার্ল, 36 টি অক্ষর

print$_,$/for grep $_==reverse,0..<>

অন্য কেউ যদি যোগ্যতা অর্জন করে না।


What / কী করে তা ব্যাখ্যা করার জন্য কি আপনি এত দয়াশীল হবেন?
গুরজো

1
@ গুরজো $/হ'ল ইনপুট রেকর্ড পৃথককারী, যা নতুন লাইনে ডিফল্ট হয়। এটা ঠিক আক্ষরিক চেয়ে একটু খাটো "\n"
hobbs

: মানচিত্রে ব্যবহার খাটোmap{say if$_==reverse}0..<>
jho

2
@ জোহো অশুভ এটি জমা দিন :)
hobbs

1
আপনি ব্যবহার করেন তাহলে -Eপরিবর্তে -e, আপনি পেতে sayবিনামূল্যে জন্য।
tchrist

9

বেফঞ্জ 320 313 303 টি অক্ষর

(উল্লেখযোগ্য নতুনলাইন এবং সাদা স্থান সহ)

 &:#v_v#  #                  :-1<
v91:<         v          <
0     >0.@    >\25**\1-:#^_v
pv   p09+1g09<^_           >$+     v
:>:25*%\25*/:| ^:p18:+1g18\<
 :          > >90g 1-:90p  | >  ^
>|           $^     <      >-|  ^  #<
 @           > 0 81p^        >:.25*,^
            ^                      <

আমি ভাবছি যদি আমি পথগুলি পুনরায় লিখে এইটিকে আরও ছোট করে তুলতে পারি ...

সম্পাদনা করুন: একটি অতিরিক্ত লাইন এড়াতে উপরের অংশটি আবার redid করুন।


8

পার্ল 5.10 - 27 টি অক্ষর

map{say if$_==reverse}0..<>

স্টিডিনের কাছ থেকে যুক্তি পড়ে।


7

রুবি 1.9, 39 টি অক্ষর

puts (?0..gets).select{|i|i==i.reverse}

স্টিডিনের মাধ্যমে ইনপুট (কোনও নতুন লাইন দিয়ে শেষ করা উচিত নয়)। অনুরোধের উদাহরণ:

echo -n 500 | ruby1.9 palinenum.rb

একটি সংস্করণে 40 টি অক্ষর যা কমান্ডলাইন আর্গ ব্যবহার করে:

puts (?0..$*[0]).select{|i|i==i.reverse}

এরp পরিবর্তে ব্যবহার করে রোহিত এগুলির প্রত্যেকটিতে 3 টি চরিত্র সংরক্ষণের প্রস্তাব করেছিলেন puts
পিটার টেলর

আপনার কোডটি ব্যবহার করে আমি নিম্নলিখিত আউটপুটটি পেয়েছি, যা ভুল বলে মনে হচ্ছে (আমি রুবি ব্যবহার করছি 1.9.2p0 (2010-08-18) [i386-mingw32]) irb(main):023:0> p (?0..gets).select{|i|i==i.reverse} 1 ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "11", "22", "33", "44", "55", "66", "77", "88", " 99"] => ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "11", "22", "33", "44", "55", "66", "77", "88" , "99"] নীচের কোডটি আমার পক্ষে কাজ করে p ('0'..gets[0..-2]).select{|i|i==i.reverse} আপনি কি আপনার কোড ব্যাখ্যা করতে পারবেন?
রোহিত

@PeterTaylor @Rohit pএবং putsব্যবহার আসলে, সমতুল্য নয় pবিরতি আউটপুট, রাখে যেমন একটি newline প্রতি উপাদান লিখছেন, একটি অ্যারের সাথে নামক যদি , যেহেতু pকেবল কল .to_s
ভেন্টোরো


5

পাইথন, 57 টি অক্ষর

for i in range(input()):
 if`i`==`i`[::-1]:print i

ব্যবহার:

echo 500 | python palindromic.py

3
সংক্ষিপ্ত:for i in range(input()):if`i`==`i`[::-1]:print i
স্টিভেন রাম্বালস্কি

যদি ইন্টারেক্টিভ দোভাষী ব্যবহার করা বৈধ হয় তবে আপনি এড়াতে পারেন printএবং ঠিক করতে পারেন if`i`==`i`[::-1]:i(আমি এটি বলছি কারণ স্কালার সমাধান এর উপর নির্ভর করে)।
বাকুরিউ

পরিসীমা অন্তর্ভুক্ত হওয়া উচিত। এবং আমি মনে করি আপনি বাইট গণনাটি 50 এ পরিবর্তন করতে পারবেন (লাইনব্র্যাকগুলি লিনাক্সের চেয়ে ছোট)।
মলকারয়ে



3

জাভাস্ক্রিপ্ট 122 108 ১০7 টি ...

আমি নিশ্চিত যে এটি আরও গল্ফ করা যেতে পারে - আমি এতে নতুন!

n=prompt(o=[]);for(i=0;i<=n;i++)if(i+''==(i+'').split("").reverse().join(""))o.push(i);alert(o.join("\n"));

অথবা

n=prompt(o=[]);i=-1;while(i++<n)if(i+''==(i+'').split("").reverse().join(""))o.push(i);alert(o.join("\n"));

ঠিক আছে, শুরু করার জন্য এসগুলি varবিনা প্রতিশ্রুতিবদ্ধ, আপনি কেবল জিনিসগুলি বিশ্বব্যাপী করতে পারেন। এছাড়াও prompt()কঠোরভাবে পরামিতিগুলির প্রয়োজন নেই।
ক্লুহলেস

যাইহোক, যদি আপনি করতে পারেন প্যারামিটার ব্যবহার prompt()এক সেমিকোলন সংরক্ষণ করতে: n=prompt(o=[]);
মেল্লামব্যাক

এছাড়াও আপনার এখনও একটি var i=0আছে যা varআপনার মুছে ফেলতে পারে for
মেল্লামব্যাক

1
কৌশলটি 1 টি যোগ করার আগে i++<nতুলনা i<nকরে i। সুতরাং, এটি সমস্ত পথে চলে i=n। আপনি যদি থামতে চান i=n-1, আপনি ++i<nপরিবর্তে ব্যবহার করতে হবে।
মেল্লামব্যাক

1
alert(o.join(" "))alert(o.join("\n"))চশমা অনুযায়ী করা প্রয়োজন । আপনি যখন এটি ঠিক করেন তখন আপনার অক্ষর গণনায় 1 যুক্ত করুন।
টমাস এডিং

3

পার্ল - 43 অক্ষর

for$i(0..<>){if($i==reverse$i){print$i,$/}}

কোড গল্ফে এটি আমার প্রথম প্রচেষ্টা, সুতরাং আমি নিশ্চিত যে পার্ল প্রো এটির গল্ফ পেতে পারে।



2

পিএইচপি 64 58

for($i=0;$i<=$argv[1];print$i==strrev($i)?$i.'\n':'',$i++)

কমান্ড লাইন ইনপুট জন্য $ _GET ['n'] $ argv [1] এ পরিবর্তন করা হয়েছে।


2

স্কেল 59

(0 to readInt)filter(x=>""+x==(""+x).reverse)mkString("\n")

আমি কোনও স্কালাকে চিনি না, তবে এটি কি সত্যিই স্ট্যাডআউটে মুদ্রণ করে? আমি অনুমান করতে পারতাম এটি একটি স্ট্রিং ফিরে আসার একটি অভিব্যক্তি।
ওমর

ইন্টারেক্টিভ স্কেল REPL এ, হ্যাঁ। আপনি এটি এখানে কেবল স্ক্যালাস.কমের পরীক্ষা করতে পারেন তবে readIntঅনলাইনে একটি কংক্রিট নম্বর দিয়ে প্রতিস্থাপন করতে হবে।
ব্যবহারকারী অজানা

2

পিএইচপি, 59 55 53 টি চর

for($i=0;$i++<$argv[1];)if($i==strrev($i))echo"$i\n";

ব্যবহার

php palindromic.php 500

সম্পাদনা করুন: থমাস ধন্যবাদ


আপনি লুপটির আশেপাশের remove গুলি সরাতে এবং স্থানটি সরাতে echo "$i\n"পারেন echo"$i\n"। এটি আপনাকে কয়েক অক্ষর সংরক্ষণ করবে। এছাড়াও, আপনি যদি বোকা হতে চান তবে আপনি \nfor for এর জন্য পরিবর্তন করতে পারেন এবং একটি চর সংরক্ষণ করতে পারেন ।
টমাস ক্লেসন

2

সি, 98 টি অক্ষর

n,i,j,t;main(){for(scanf("%d",&n);i<=n;i-j?1:printf("%d ",i),i++)for(t=i,j=0;t;t/=10)j=j*10+t%10;}



2

বেফুঞ্জ, 97 (গ্রিডের আকার 37x4 = 148)

#v&#:< ,*25-$#1._.@
:>:::01-\0v >-!#^_$1-
*\25*/:!#v_::1>\#* #*25*#\/#$:_$\25*%
   `-10:\<+_v#

এই প্রশ্নের আরও ভাল বেফঞ্জ উত্তর দিন। এটি বিশেষত বেফুঞ্জ -৩৩; আমি সম্ভবত এটি বেফুঞ্জ -98 এর সাথে আরও কমপ্যাক্ট করে তুলতে পারি। আমি এটি ভবিষ্যতের সম্পাদনায় অন্তর্ভুক্ত করব।

যেহেতু আপনি Befunge মধ্যে স্ট্রিং কাজ করতে পারবেন না, সেরা আমি যেত না গনা প্রতিটি সংখ্যা অঙ্ক-বিপরীত (যা আমি বিস্মিত আমি ছাড়া পরিচালনা করতে সক্ষম ছিল pএবং g) এবং মূল নম্বরে তুলনা করুন। ডিজিট-রিভার্স বেশিরভাগ কোড নেয় (মূলত পুরো তৃতীয় এবং চতুর্থ লাইন)।

মনে রাখবেন যে প্রোগ্রামটি এখন যেমন দাঁড়িয়ে আছে তেমন ইনপুট থেকে নীচে 0 টি নম্বর প্রিন্ট করে this এটি যদি বড় কথা হয় তবে আমাকে জানান। (চ্যালেঞ্জটি কেবলমাত্র ক্রমবর্ধমান ক্রমে নয়, এগুলি গণনা করতে বলেছে))


+1 টি। লাইনগুলি \nএকা বন্ধ করা যায়, সুতরাং এটি 94 বাইট দীর্ঘ। আপনার "গ্রিডের আকার" এর কোনও বিশেষ প্রাসঙ্গিকতা আছে বলে আমি মনে করি না।
har-wradim

2

05 এ বি 1 ই , 5 বাইট (প্রতিযোগী নয়)

ভাষা চ্যালেঞ্জ postdates এবং সেইজন্য হয় অ প্রতিদ্বন্দ্বী । কোড:

ƒNÂQ–

ব্যাখ্যা:

ƒ      # For N in range(0, input() + 1)
 N     #   Push N
  Â    #   Bifurcate (pushes N and N[::-1])
   Q   #   Check for equality
    –  #   If true, pop and print N

ব্যবহার সিপি-1252 এনকোডিং। এটি অনলাইন চেষ্টা করুন!


LʒÂQ4 বছর
বয়সী

2

ব্র্যাচল্যাগ (2), ভাষা পোস্টের তারিখের প্রশ্ন:

প্রশ্নে বর্ণিত আই / ও ফর্ম্যাট সহ, 8 বাইট

≥ℕA↔A≜ẉ⊥

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

আধুনিক পিপিসিআই আই / ও বিধি সহ 4 বাইট

≥ℕ.↔

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

এটি এমন একটি ফাংশন যা পূর্ববর্তী উদাহরণের মতো একটি সম্পূর্ণ প্রোগ্রাম নয়, সমস্ত আউটপুট জেনারেট করে, এবং তাই লিখিতভাবে অনুমানগুলি মেনে চলে না, তবে আমি ভেবেছিলাম যে প্রশ্নটি লিখিত থাকলে প্রোগ্রামটি কেমন দেখায় show আধুনিক আই / ও মানদণ্ডে (যা জেনারেটরের মাধ্যমে ফাংশনগুলির ব্যবহার এবং আউটপুটকে অনুমতি দেয়)।

ব্যাখ্যা

≥ℕ.↔ 
 ℕ    Generate natural numbers
≥     less than or equal to the input
  .   but output only the ones
   ↔  that would produce the same output if reversed

সম্পূর্ণ প্রোগ্রাম সংস্করণের জন্য, আমরা Aআউটপুট ধরে রাখার জন্য একটি অস্থায়ী পরিবর্তনশীল তৈরি করি , এটি স্পষ্টভাবে লেবেলাইজ করি (এটি কোনও প্রোগ্রামের মূল শিকারীর জন্য স্পষ্টভাবে করা হয়), এবং ẉ⊥জেনারেটরের উপাদানগুলিকে স্ট্যান্ডার্ড আউটপুট আউটপুট দেওয়ার জন্য সুপরিচিত কৌশলটি ব্যবহার করি।


আধুনিক পিপিসিজি আই / ও বিধিগুলি আপনাকে জমা দেওয়ার হিসাবে কোনও জেনারেটর ব্যবহারের অনুমতি দেয় কখন?
ফাঁস নুন

@ ল্যাকিয়ুন: আমি ৩০ নভেম্বর ২০১ 2016 তে প্রস্তাবটি দিয়েছিলাম, তবে conকমত্যটি যে তারা ইতিমধ্যে আইনী ছিল (ঠিক তেমন নথিভুক্ত নয়)। আমাদের এখন স্পষ্ট নিয়ম তাদের অনুমতি দেয়; ২০১ 2016 সালের বেশিরভাগ সময় পর্যন্ত তাদের স্পষ্টভাবে অনুমতি দেওয়া হয়নি এবং তাদের স্পষ্টভাবে নিষিদ্ধও করা হয়নি।

ওহ, ভাল, আমি দেখতে।
লিকি নুন

1

পাইথন

n=raw_input('')
for a in range(0,int(n)+1):
    r=str(a)
    if str(a)==r[::-1]:
        print r

হুম ... ২৩২ টি অক্ষর আসলে খুব বেশি প্রতিযোগিতামূলক নয়। সম্ভবত আপনি ভেরিয়েবলের নামগুলি একটি অক্ষরে হ্রাস করতে এবং ভেরিয়েবল এবং অপারেটরগুলির মধ্যে ফাঁকা স্থান মুছতে পারেন?
গ্যারেথ

সাবাশ. পাইথনকে গল্ফ করার জন্য কিছু ভাল টিপস এই প্রশ্নে পাওয়া যাবে: কোডগল্ফ.স্ট্যাকেক্সেঞ্জার
গ্যারেথ

আপনি এন থেকে রক্ষা পেতে পারেন - int (এন) এর পূর্বে (কাঁচা-ইনপুট ()) দ্বারা প্রতিস্থাপন করুন - এবং আপনি স্টেট (ক) টি ইফ স্টেটমেন্টে আরে পরিবর্তন করতে পারবেন
ওমর


1

প্রশ্ন (34 টি অক্ষর)

এই কিউ সমাধানের আর্গুমেন্ট হিসাবে n + 1 এর পরিবর্তে এন পাস করুন।

{i(&)({all i=(|)i:($)x}')i:(!)1+x}


1

প্রশ্ন (33)

{if[x="I"$(|:) -3!x;:x]} each til

সম্ভবত এটি করার একটি খুব সুন্দর উপায় তবে যাইহোক, নমুনা ব্যবহার (আপনি এন + পেতে এন + 1 লিখুন):

q){if[x="I"$(|:) -3!x;:x]} each til  10
0 1 2 3 4 5 6 7 8 9

টিমার্টিনের পরামর্শ, এটি নীচে নেমে 29:

({$[x="I"$(|:) -3!x;x;]}')(!)

একই ব্যবহার।



1

সি # ( 217 214 191 অক্ষর)

গল্ফ সংস্করণ:

using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());do{var t=(n+"").ToArray();Array.Reverse(t);Console.Write(n+""==new string(t)?n+"\n":"");}while(n-->0);Console.ReadLine();}}

রিডেবল:

using System;
using System.Linq;
class P
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        do
        {
            var t = (n + "").ToArray();
            Array.Reverse(t);
            Console.Write(n + "" == new string(t) ? n + "\n" : "");
        } while (n-->0);

        Console.ReadLine();
    }
}

এটি এন -> 0 অপারেটরের ব্যবহারের উত্থানের ক্রমে প্যালিনড্রোমগুলি মুদ্রণ করে। (যেমন এন 0 তে যায়)

* সম্পাদিত সংস্করণটি 3 টি অক্ষর সাশ্রয় করার সাথে সাথে ... প্রতিস্থাপন করে, তবে এখন আপনাকে এন + 1 দিয়ে ইনপুট করতে হবে।

using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());while(n-->0){var t=(n+"").ToArray();Array.Reverse(t);Console.Write(n+""==new string(t)?n+"\n":"");}Console.ReadLine();}}

* সম্পাদিত: অ্যারেতে রূপান্তর না করে স্ট্রিংটিকে বিপরীত করার আরও ভাল উপায় খুঁজে পেয়েছে:

using System;using System.Linq;class P{static void Main(){int n=int.Parse(Console.ReadLine());while(n-->0)Console.Write(n+""==string.Join("",(""+n).Reverse())?n+"\n":"");Console.ReadLine();}}

রিডেবল:

using System;
using System.Linq;
class P
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        while (n-->0)
            Console.Write(n + "" == string.Join("", ("" + n).Reverse()) ? n + "\n" : ""); 
        Console.ReadLine();
    }
}

1

পিএইচপি 53

53 কম হতে পারে? চারটি ভিন্ন বিকল্প:

for($i=$argv[1];$i-->0;)echo$i==strrev($i)?"$i\n":"";
for($i=$argv[1];$i-->0;)if($i==strrev($i))echo"$i\n";
while(($i=$argv[1]--)>0)echo$i==strrev($i)?"$i\n":"";
while(($i=$argv[1]--)>0)if($i==strrev($i))echo"$i\n";

আপনি যদি মজা পেতে চান ...

পিএইচপি 47

while(($i=$argv[1]--)>0)if($i==strrev($i))`$i`;

আপনাকে ত্রুটির পাঠ্যটি উপেক্ষা করতে হবে। প্যালিনড্রোম সংখ্যাগুলি এখনও কমান্ড লাইনে আউটপুট রয়েছে।


1

পাইথ, 11

VhQIq`N_`NN

উদাহরণ:

$ pyth -c 'VhQIq`N_`NN' <<< 200
0
1
2
3
4
5
6
7
8
9
11
22
33
44
55
66
77
88
99
101
111
121
131
141
151
161
171
181
191
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.