ইনপুট নম্বর; আউটপুট লাইন নম্বর


18

কোড গল্ফ

সম্পূর্ণ বাস্তব ব্যাকস্টোরি: আমি একটি ওয়েবসাইট www এ কাজ করছি ঠিকাদার a স্কাই নেট এবং এটি আমাদের একটি কাজ যা কিছু আত্ম-সচেতন প্রোগ্রাম বা অন্য কিছু তৈরি করা, আমি জানি না যে আমি সত্যিই বসকে শুনছিলাম না। যাইহোক আমাদের কোডকে আরও স্ব-সচেতন করার প্রয়াসে আমাদের প্রতিটি লাইন নম্বরে কী কোড রয়েছে তা জানতে সক্ষম হওয়ার জন্য এটি প্রয়োজন IT


চ্যালেঞ্জ

এমন একটি প্রোগ্রাম বা ফাংশন তৈরি করুন যা কোনও ইনপুট নেয় nএবং সেই প্রোগ্রামের কোড বা লাইনে ফাংশনটি দেয় n


বিধি

➊ আপনার প্রোগ্রাম বা ফাংশনটি কমপক্ষে 4 লাইন দীর্ঘ হতে হবে। প্রতিটি লাইন অবশ্যই অনন্য হতে হবে।

➋ আপনি ধরে নিতে পারেন ইনপুটটি সর্বদা 1 এর চেয়ে বড় বা সমান এবং আপনার প্রোগ্রাম / ফাংশনে লাইনের সংখ্যার চেয়ে কম বা সমান হবে positive

Program আপনার প্রোগ্রাম / ফাংশনের প্রথম লাইনটি লাইন 1 নয়, লাইন 0 নয়।

Program আপনার প্রোগ্রামটি চালু রয়েছে এমন ফাইল আপনি অ্যাক্সেস করতে পারবেন না। (যদি কারও কাছে জিজ্ঞাসা করতে হয় "এটি কি প্রযুক্তিগত নিয়ম # 4 রীতি নয়"; সম্ভবত এটি)

Ines লাইনগুলি খালি থাকতে পারে না (স্পেসগুলি যদি আপনার ভাষায় কিছু না করে তবে এটিতে একটি স্থান অন্তর্ভুক্ত)

Ines লাইনগুলি // মন্তব্য করা যাবে না (কোনও <! - শৈলীর / *)


এটি মতো চ্যালেঞ্জ
এটি , সুতরাং কয়েকটি বাইটের সাথে জমা দেওয়া জেতা!



1
আমি এই মধ্যে সম্পন্ন দেখতে চাই 99 :)
জনাথন অ্যালান


"লাইনগুলি মন্তব্য হতে পারে না, তবে আমি অনুমান করি যে কার্যকরী নো-অপস ঠিক আছে" (তবে সত্যই, কখনও কখনও এটি বলা শক্ত হয় যে কোনও রেখাকে নো-ওপেন হিসাবে গণ্য করা উচিত কিনা; উদাহরণস্বরূপ আমার রুবির উত্তরটির শেষ লাইনটি কেবল একটি হতে পারে ল্যাম্বডা শেষ করতে কোঁকড়া বন্ধনী)
মান কালি

শিরোনামটি আরও ভাল হতে পারে "ইনপুট নম্বর; সেই লাইন নম্বরটির সাথে আউটপুট লাইন"? অথবা এমনকি "সংখ্যা অনুসারে আউটপুট লাইন"।
পাওলো ইবারম্যান

উত্তর:


16

ভিম, 7 বাইট

1
2
3
4

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

আমি যতদূর বলতে পারি, এটি সমস্ত নিয়ম মেনে চলে। ডিফল্টভাবে ভিমে, খালি প্রোগ্রামটি সমস্ত ইনপুট প্রিন্ট করে। থেকে

<N><CR>

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


2
অন্যান্য ভাষায় কাজ করবে - প্রথম সংযোজন: পাইথ
জোনাথন অ্যালান

অপেক্ষা করুন, বাইটস? ভিম কীস্ট্রোকগুলিতে পরিমাপ করা হয়।
পাভেল

@ জোনাথন অ্যালান দেখে মনে হচ্ছে টিথিতে পাইথটি ভুলভাবে কনফিগার করা হয়েছে। আপনি যদি ডিবাগ আউটপুটটিকে লক্ষ্য করেন তবে আপনি দেখতে পাবেন যে কোডটি আসলে চালিত হচ্ছে তা আর্গুমেন্টের ক্ষেত্রের জিনিস, কোড ক্ষেত্রের জিনিস নয়। এটি আসলে সেই কোডটি চালাচ্ছিল এমন দেখাচ্ছে।
isaacg


2
এটি ব্র্যাচিয়েলগেও কাজ করে
7:34 এ ফ্যাটালাইজ করুন

9

রুবি, 71 70 66 বাইট

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

->n{
k=["}", "k[-n]%%k.inspect", "k=%s", "->n{"]
k[-n]%k.inspect
}

"প্রতারণা" মোড: 7 + 1 = 8 বাইট

-p+1 বাইটের জন্য পতাকাটির প্রয়োজন । আক্ষরিকভাবে ভি উত্তরের একটি অনুলিপি । ইনপুটযুক্ত নম্বরটি মুদ্রণ করে; পুরো প্রোগ্রাম কার্যকরভাবে কোন অপ্স।

1
2
3
4

কি করে -p?
পাভেল

@ পাভেল এটির ফলে প্রোগ্রামটি এসটিডিনের প্রতিটি লাইনটি পড়তে পারে $_, প্রোগ্রামের সামগ্রীগুলি চালায় এবং তারপরে $_স্ক্রিনের বিষয়বস্তু মুদ্রণ করে (এসটিডিআইএন প্রতি লাইনে পুনরাবৃত্তি করে)। যেহেতু প্রোগ্রামটি কিছুই করে না, এটি কার্যত কেবল ইউনিক্সই নয় cat, তবে এর অর্থ হ'ল 1-4 থেকে প্রতিটি ইনপুট লাইনটির বিষয়বস্তু আউটপুট দেবে, কারণ প্রতিটি লাইন আক্ষরিকভাবে তার লাইন সংখ্যা।
মূল্য কালি

আরও তথ্যের জন্য পাভেল
মূল্য কালি

আমি আপনার "প্রতারণামূলক" উত্তরটি পছন্দ করি। পার্লের রয়েছে -p, তবে 1\n2\n3\n4এটি কোনও বৈধ পার্ল প্রোগ্রাম নয়।
এইসুইটস ব্ল্যাকনট

7

হাস্কেল, 69 59 বাইট

(lines(s++show
 s)
 !!)
s="\n(lines(s++show\n s)\n !!)\ns="

স্ট্যান্ডার্ড হাস্কেল কুইনের উপর ভিত্তি করে। প্রথম এক্সপ্রেশন (প্রথম তিনটি লাইনে ছড়িয়ে) একটি নামবিহীন ফাংশন যা কুইনাইফাইড স্ট্রিং s( s++show s) থেকে নবম লাইনটি তুলে ধরে । ইনডেক্সিং 1-ভিত্তিক করার জন্য +2 বাইট (imho একটি অপ্রয়োজনীয় নিয়ম)।

জন্য অনলাইন জন্য এটি ব্যবহার করে দেখুন! সংস্করণ আমি ফাংশন যা 4 বাইট যোগ করতে হবে।


এই বিরতি কি আইন 6? :)
অ্যালবার্ট রেনশওয়া

লাইন সূচকে 0-ভিত্তিক বলে মনে করা হয় না, বিধিগুলি স্পষ্টভাবে 1-সূচকের প্রয়োজন।
মূল্য কালি

@ অ্যালবার্ট রেনশা: স্থির
নিমিম

@ ভালিউইঙ্ক: স্থির
নিমিম

@ নিমি লওল, " সমাধান " এর কারণেই কেন আমি এটিকে জনপ্রিয়তা প্রতিযোগিতায় পরিণত করতে প্ররোচিত করেছি ha তবুও, ভাল কাজ!
অ্যালবার্ট রেনশওয়া

5

পাওয়ারশেল , 184 172 বাইট

$v=0,
'$v=0,',
"'`$v=0',",(($q='"{0}`$v=0{0},",(($q={0}{1}{0})-f([char]39),$q)')-f([char]39),$q),
(($z='(($z={0}{1}{0})-f([char]39),$z;$v[$args]')-f([char]39),$z);$v[$args]

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

ব্যাখ্যা

$vপ্রথম লাইনে একটি অ্যারে তৈরি করে শুরু হয় । একই লাইনে, প্রথম ( 0ম) উপাদানটি সেট করা আছে 0এবং একটি কমা ,তার সংজ্ঞাটি অবিরত করে।

পরের লাইন 1স্ক্রিপ্টের প্রথম লাইনের সামগ্রীর প্রতিনিধিত্ব করে একটি স্ট্রিতে অ্যারের পরবর্তী উপাদান ( ) সেট করে , যাতে $v[1]প্রথম লাইনটি ফিরে আসে।

তৃতীয় লাইনটি প্রথমে অ্যারের (তৃতীয় 2) তৃতীয় উপাদানটিকে স্ক্রিপ্টের ২ য় লাইনের প্রতিনিধিত্ব করে একটি স্ট্রিংয়ে সেট করে, তারপরে একই লাইনে 3একটি কুইনি স্নিপেট ব্যবহার করে ৪ র্থ উপাদান (সূচক ) সেট করে -fযা প্রতিস্থাপনের জন্য বিন্যাস অপারেটর ( ) ব্যবহার করে [char]39তৃতীয় লাইনের সম্পূর্ণতা পুনরুত্পাদন করার জন্য একক উদ্ধৃতি ( ) এবং ফর্ম্যাট টেম্পলেট স্ট্রিংয়ের কয়েকটি উদাহরণ ।

লাইন 4 মূলত একই জিনিসটি করে তবে সরবরাহ করা যুক্তি ব্যবহার করে অ্যারে তৈরির কাজ শেষ করে তারপরে সূচিগুলিও শেষ করে।


4

পাইথন 2, 104 73 67 বাইট

জনাথন অ্যালানকে 6 বাইট বাঁচানোর জন্য ধন্যবাদ!

s=\
['print s[input()]or s', 's=\\', 0, 'exec s[', '0]']
exec s[
0]

সম্পাদনা: একই বাইট গণনা, তবে আমি এই সমাধানটি আরও ভাল পছন্দ করি

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

মান কালি এর রুবি উত্তর পাইথন সংস্করণ ।

পুরানো উত্তর (67 বাইট):

1
s=\
['print s[-input()]or s', 0, 's=\\', 1]
print s[-input()]or s

পরিত্রাণ পেয়ে 6 বাঁচান n: টিআইও
জনাথন অ্যালান

@s চ্যালেঞ্জের প্রয়োজনীয়তার জন্য উত্স কোডের ন্যূনতম 4 টি লাইন থাকা দরকার: ভি
মান কালি

2

সিজেম , 19 18 17 বাইট

1
{'_'~]ri(=}
_
~

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

স্ট্যান্ডার্ড সিজাম-কুইনের উপর ভিত্তি করে। {...}_~রান ...স্ট্যাক ব্লক নিজেই সঙ্গে (এবং এই ক্ষেত্রে, এছাড়াও 1যে নীচে)। তারপরে আমরা করি:

'_'~  e# Push the third and fourth line.
]     e# Wrap all four lines in a list.
ri    e# Read input and convert to integer.
(=    e# Use as index into the lines.

এটা সুন্দর. যুক্তির হাসির মুখ শেষ হওয়ার মতো (= হাহা
অ্যালবার্ট রেনশো

1

পিএইচপি, 261 বাইট

<?php function f($l){
$a="aWYoJGw9PTEpJG09Ijw/cGhwIGZ1bmN0aW9uIGYoXCRsKXsiO2lmKCRsPT0yKSRtPSJcJGE9XCIkYVwiOyI7aWYoJGw9PTMpJG09IlwkYj1cIiR";
$b="iXCI7IjtpZigkbD09NCkkbT0iZXZhbChiYXNlNjRfZGVjb2RlKFwkYS5cJGIpKTt9Pz4iO2VjaG8gJG07";
eval(base64_decode($a.$b));}?>

অনলাইনে চেষ্টা করে দেখুন !!

এনকোডেড স্ট্রিংটি হ'ল:

if($l==1)$m="<?php function f(\$l){";
if($l==2)$m="\$a=\"$a\";
if($l==3)$m="\$b=\"$b\";
if($l==4)$m="eval(base64_decode(\$a.\$b));}?>";
echo $m;

মজাদার! এনকোডযুক্ত স্ট্রিংগুলি কী কী?
অ্যালবার্ট রেনশওয়া

1
@ অ্যালবার্ট রেনশওয়া আমি স্ট্রিংয়ের ডিকোডেড সংস্করণ যুক্ত করতে এটি সম্পাদনা করেছি।
ডিভিসি

0

পার্ল, 52 বাইট

$_=q{print+(split/
/,"\$_=q{$_};
eval")[<>-1]};
eval

এটি ক্লাসিক কুইনে একটি সাধারণ প্রকরণ

$_=q{print"\$_=q{$_};eval"};eval

"পে-লোড" splitনতুন লাইনে রয়েছে এবং ফলাফলটি তালিকায় সূচী দ্বারা সঠিক লাইনটি নির্বাচন করা হয়।

পার্ল, 49 48 বাইট (প্রতিদ্বন্দ্বী)

#!/usr/bin/perl -d:A
sub DB'DB{
print${"_<$0"}[<>]}
1

কোডের জন্য 38 বাইট (শেবাং বাদে তবে অন্তর্ভুক্ত -d:A) সহ 10 টি বাইট ফাইলের নাম, যা হওয়া আবশ্যক Devel/A.pmDevelডিরেক্টরির মধ্যে হতে হবে @INC

প্রযুক্তিগতভাবে, এটি # 4 বিধি লঙ্ঘন করেছে -d:Aকারণ ফাইলটি দুবার পার্স হওয়ার কারণ এটি একটি প্রতিযোগিতামূলক সমাধান।

এটি ফাইলের লাইনগুলি অ্যাক্সেস করতে একটি ডিবাগার হুক ব্যবহার করে, যা @{"_<$filename"}সংকলন সময়ে অ্যারেতে পার্ল সঞ্চয় করে ।

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