জীবিত মানুষের সম্ভাব্য জন্ম বছরের তালিকা


40

চ্যালেঞ্জ

বর্তমান বছরের সাথে শুরু হয়ে 120 বছর আগে শেষ হওয়া বছরের তালিকা তৈরি করে। প্রতিটি জীবিত মানুষের জন্ম বছর এই তালিকায় অন্তর্ভুক্ত করা হবে।

বিস্তারিত

তালিকাটি অবতরণ ক্রমে হওয়া উচিত।

অ্যারে এবং / অথবা তালিকাগুলি ম্যানিপুলেট করতে প্রতিটি অন্তর্নির্মিত ফাংশন অনুমোদিত।

বাইটস মধ্যে সংক্ষিপ্ত কোড।

এই বছর যখন চালানো হবে আউটপুট হবে

2016, 2015, ..., 1897, 1896

পরের বছর চালিত হলে আউটপুট হবে

2017, 2016, ..., 1898, 1897

প্রভৃতি

হালনাগাদ

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

7
আমি কোনও চ্যালেঞ্জ পোস্ট করার আগে প্রতিক্রিয়া পাওয়ার জন্য স্যান্ডবক্সের প্রস্তাব দিই (কেবল আপনার প্রথম চ্যালেঞ্জের জন্য নয় - আমাদের বেশিরভাগই প্রতিটি চ্যালেঞ্জের জন্য এটি ব্যবহার করে)।
ট্রাইকোপলাক্স

3
এই চ্যালেঞ্জের সাথে আমি কোনও ভুল দেখছি না। একটি জিনিস যা উল্লেখযোগ্য হতে পারে তা হ'ল আউটপুটটি সর্বদা ২০১ 2016 দিয়ে শুরু হওয়া উচিত, বা যে বছর এটি চালানো হয় তার সাথে (এটি কি পরের বছর চালিত হলে ২০১ 2017 দিয়ে শুরু হবে?)। এটি কোনও স্থির আউটপুট চ্যালেঞ্জ কিনা বা বর্তমান তারিখটি অ্যাক্সেস করতে হবে কিনা তা প্রভাবিত করবে।
ট্রাইকোপলাক্স


10
ল্যাড, এটি গ্রহণের খুব আগে ছিল।
অ্যাডিসন ক্রম্প

6
চ্যালেঞ্জটি কি: " y120 থেকে সমস্ত নম্বর মুদ্রণ করুন y" বা "জীবিত মানুষের সমস্ত জন্ম বছর মুদ্রণ করুন"? কারণ 1896-এ জন্মগ্রহণকারী কেউ যদি আজ বেঁচে থাকে, তার অর্থ এই নয় যে 1898 এর কাছাকাছি এখনও লোক রয়েছে।
CompuChip

উত্তর:


19

পাইকে, 6 বাইট

wC7m-

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

w     - 121
   m- - for i in range(^):
 C7   -  current_year-i

(এর পরে w, 153 এর কোডপয়েন্টটি উপস্থিত রয়েছে তবে এটি মুদ্রণযোগ্য নয়)


1
বাহ, এটি একটি দ্রুত চেকমার্ক ছিল। সম্ভবত একটি জেলি উত্তর জন্য অপেক্ষা?
আদম

যদিও আমি সম্মতি জানাই এটি একটি দ্রুত চেকমার্ক ছিল, আমি সন্দেহ করি এমনকি জেলি এটি 5-এও করতে পারে
ব্লু

আপনার কেন 121 এর জন্য একটি পরিবর্তনশীল আছে? এটি কেবল একটি বর্গ সংখ্যা হিসাবে? তবে ভাল হয়েছে!
ডেনকার

3
wআসলে যে 121 পরে একটি অমুদ্রণীয় বাইট হয়েছে
নীল

1
@Lakakyun এটি কনফিগারযোগ্য, এটি যে সার্ভারের সাথে চলছে তার ডিফল্ট যাই হোক না কেন। পাইকাক্যাটবাসে, আমি এটি উইন্ডোজ -১২২২
ব্লু

11

পাইথ, 11 9 8 বাইট

-L.d3C\y

সীমাবদ্ধতার উপর ম্যাপিং [0...120]এবং বর্তমান বছর থেকে প্রতিটি সংখ্যা বিয়োগ করে কাজ করে। পরিসীমাটি 121মানচিত্রের যুক্তি হিসাবে স্পষ্টভাবে নির্মিত is এর মধ্যে পৃথকীকরণের সাদা স্থানটি এড়ানোর জন্য .d3এবং 121আমরা yকোডকোয়েন্টে রূপান্তর করে এই নম্বরটি পাই ।
এই পদ্ধতির সাথে এগিয়ে আসার জন্য @ ফ্রিআমএইটিজিমনকে ধন্যবাদ!

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

পুরাতন 9-বাইট সমাধান:

_>121S.d3

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

ব্যাপ্তি তৈরি করে [1...<current year>]এবং এর সর্বশেষ 121 টি উপাদান গ্রহণ করে।


1
আপনার তালিকাটি উল্টে দেওয়া উচিত যাতে এটি চলতি বছরের সাথে শুরু হয়
ক্রিশ্চিয়ান ওয়েস্টারবেক

1
-L...কয়েক বাইট সাশ্রয়।
জাকুব

1
@ ক্রিশ্চিয়ান ওয়েস্টারবিইক এই অংশটি মিস করেছেন, স্থির হয়েছে। দাগ দেওয়ার জন্য ধন্যবাদ!
ডেনকার

@ জাকুব এখন অন্যরকম পদ্ধতির ব্যবহার করেছে, তবে এটি যে স্মরণ করিয়ে দেয় তার জন্য ধন্যবাদ, পাইথ গতবারে খুব বেশি ব্যবহার করেনি!
ডেনকার

1
-L.d3C\y8 এর জন্য কাজ করা উচিত
FryAmTheEggman

9

আর, 34 বাইট

(format(Sys.Date(),"%Y"):0)[1:121]

একটি অনলাইন দোভাষীর এখানে দেখুন ।

সম্পাদনাটি ব্যবহার করে 33 বাইটে হ্রাস করা যায় substr

(substr(Sys.Date(),1,4):0)[1:121]

তবে প্রযুক্তিগতভাবে এই সমাধানটি কেবল 9999-12-31 পর্যন্ত কাজ করবে।


3
এটা সত্যিই দারুন. :অপারেটরটি ব্যবহার করার সময় এটি কোনও সংখ্যায় একটি স্ট্রিং
টাইপস্টাস্ট

8

AngularJS + Lodash , 274 বাইট

angular.module('x',[]).controller('x',['$scope',function(x){x.x=_.range(9,new Date().getFullYear()+1).slice(-121).reverse()}])
<script src=//goo.gl/M5LvGe></script><script src=//goo.gl/opljJl></script><select ng-app=x ng-controller=x multiple><option ng-repeat="x in x">{{x}}

আউটপুট

এখানে চিত্র বর্ণনা লিখুন


8

BASH + কোর্টিলস, 35 33 বাইট

x=`date +%Y`;seq $x -1 $((x-120))

2
আপনার ক্ষেত্রে, উদ্ধৃতিগুলি date +"%Y"date +%Y
বিনা শৃঙ্খলাবদ্ধ

1
x=`date +%Y`;seq $x -1 $[x-120]বা seq $[x=`date +%Y`] -1 $[x-120]পাশাপাশি কাজ করে।
ডেনিস

আপনার যদি ওএসএক্স থাকে তবে 10 বাইট সংক্ষিপ্ত করুন বা jotলিনাক্সে ইনস্টল করতে ইচ্ছুক
ডিজিটাল ট্রমা

7

সিজেম, 14 12 11 বাইট

স্পট 3000 এবং মার্টিন ইন্ডারকে 1 বাইট ধন্যবাদ দিয়ে 2 বাইট সংরক্ষণ করা হয়েছে

et0=121,f-p

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

ব্যাখ্যা

et0=         e# Push the current year
    121,     e# Push the range 0, 1, ..., 120
        f-   e# For each item in the range, subtract it from current year
          p  e# Print the array

7

এইচপি 50 জি আরপিএল, 97 বাইট

120 'S' STO DATE ->STR 6 9 SUB OBJ-> 'Y' STO {} S WHILE 0 >= REPEAT Y S - + 'S' DECR END REVLIST

Ungolfed:

120
'span' STO     @ Store the span of years to cover.
DATE           @ Get the date as number 11.082016. 
→STR           @ Convert to string "11.082016".
               @ (Number format must allow all these decimal places.)
6 9 SUB        @ "11.082016" Substring for the year.
               @       ^  ^
               @  123456789
OBJ→           @ Convert string to number.
'year' STO     @ Store as the year to start at.
{} span        @ Start empty list to collect the years.
               @ Leave loop counter on the stack.
WHILE 0 ≥      @ Loop until the counter goes negative.
REPEAT
  year span -  @ E.g. on first iteration: 2016 - 120 = 1896.
  +            @ Append the year to the list on the stack.
  'span' DECR  @ Decrement loop counter and leave on stack.
END
REVLIST        @ Put list in reverse chronological order.

১৮৯6-এর নীচে 2016 এর একটি তালিকা দেখানো হচ্ছে:

2016 থেকে 1896 পর্যন্ত


ক্যালকুলেটর থেকে বর্তমান বছর পেতে উত্তর সম্পাদিত।
কালেব পল


6

পাওয়ারশেল, 26 24 বাইট

@ টিমমিডি উন্নত সংস্করণ:

0..120|%{(date).Year-$_}

ছিল:

($d=(date).year)..($d-120)

যেখানে dateরানGet-Date


1
Blargh, আগে উত্তর দেওয়া উচিত ছিল। আমি প্রস্তুত ছিল যে ঠিক সরল সংস্করণ। তারপর কাজ হস্তক্ষেপের: ডিএ মজা সংস্করণ হবে: ((date).year..0)[0..120]; হায় এটা কম নয়।
জো

1
আমি আকর্ষণীয় মনে করি যে তারিখটি গেট-ডেটের সমতুল্য হয় যখন তারিখটি আসলে গেট-ডেটের কোনও উপনাম নয়। আমি এটিকে "অন্তর্ভুক্ত ক্রিয়া" নিয়ম দেখেছি এবং এটি পাওয়ারশেল সাহিত্যে খুব কমই নথিভুক্ত হয়।
বেভো

@ বেভো এটি কোডগল্ফের জন্য দরকারী তবে অন্য যে কোনও ব্যবহারের জন্য কিছুটা ঝুঁকিপূর্ণ। দেখুন: কোডগলফ.স্ট্যাকেক্সেঞ্জারএ / এ / 7878 ; / 55১ এবং মন্তব্য শৃঙ্খলা; এটি উভয় নামে সংঘর্ষের ঝুঁকিপূর্ণ এবং খুব ধীর।
টেসেল্ল্যাটিংহেকলার

6

ডায়ালগ এপিএল , 11 10 বাইট

120↑⌽⍳⊃⎕ts

120↑ 120 উপাদান নিন

বিপরীত

সূচকগুলি পর্যন্ত

প্রথম উপাদান

⎕TS বিন্যাসে টাইমস্ট্যাম্প [YYYY, M, D, h, m, s, t]

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


পুরাতন রুপ:

(⊃⎕TS)-⍳120

⊃⎕TS [YYYY, M, D, h, m, s, t] এর প্রথম উপাদান

- ঋণচিহ্ন

⍳120 [0, 1, 2, ..., 118, 119]

প্রয়োজনীয় ⎕IO←0, যা অনেক সিস্টেমে ডিফল্ট।

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


6

ভিট্টি + * শ + জাভাস্ক্রিপ্ট , 33 26 21 18 বাইট

ভিটসির নেটিভ সময় / তারিখের পুনরুদ্ধার নেই, তাই আমাকে এইটির জন্য শেল এবং ইওল ব্যবহার করতে হয়েছিল।

আমাকে আরও 3 বাইট শিয়ার করতে সাহায্য করার জন্য @ কালেবকে ধন্যবাদ!

'Y%+ etad',Dca*-HZ

'Y%+ etad'               Push the string 'date +"%Y"' to the stack.
          ,              Execute through shell. 
           Dca*-         Dupe n, push n - 120.
                H        Pop x, y, push range(x, y) to the stack.
                 Z       Output all stack as characters.

আপনি এটি অনলাইনে চেষ্টা করতে পারবেন না, কারণ এটি শেল এবং ইভাল উভয়ই ব্যবহার করে।

আউটপুট অক্ষর কোড হিসাবে হয়।


আপনার এটি থেকে একটি দম্পতি বাইট ছাঁটাতে সক্ষম হওয়া উচিত কারণ আপনার তারিখ বিন্যাসের স্ট্রিংয়ের চারপাশে দ্বিগুণ উদ্ধৃতি প্রয়োজন নেই (যেহেতু এতে কোনও স্পেস নেই); date +%Yঠিক কাজ করে।
কালেব

@ কালেব পারফেক্ট, ধন্যবাদ! একটি জেএস অ্যাভাল অস্তিত্বের প্রয়োজনীয়তাও তৈরি করে।
অ্যাডিসন ক্রম্প

5

গাণিতিক / ওল্ফ্রাম ভাষা, 28 বাইট

Date[][[1]]-#&/@Range[0,120]

পিপিসিজিতে আপনাকে স্বাগতম!
অ্যাডিসন ক্রম্প

4
পিপিসিজিতে আপনাকে স্বাগতম! বিয়োগগুলি স্বয়ংক্রিয়ভাবে তালিকার উপরে থ্রেড হওয়ার কারণে আপনার এখানে কোনও মানচিত্র ব্যবহার করার দরকার নেই। এবং -Range@121+1শূন্য-ভিত্তিক তালিকার চেয়ে একটি বাইট সংরক্ষণ করে। এবং #&@@একটি বাইট ওভার [[1]]। এটি বলেছিল, চ্যালেঞ্জের অন্যথায় না বলা পর্যন্ত, সমস্ত সাবমিশনগুলি ফাংশন বা সম্পূর্ণ প্রোগ্রাম হতে হবে এবং এই কোডটি কেবল একটি স্নিপেট / এক্সপ্রেশন। সংক্ষিপ্ততম স্থিরতা এটি যুক্ত করে একটি নামহীন ফাংশন তৈরি করবে &
মার্টিন ইন্ডার

প্রতিক্রিয়াটির জন্য ধন্যবাদ আমার উচিত ছিল মাইনাসকে তালিকাভুক্ত, মাইনাল মানসিক কোলাহলে ধরা পড়ার কথা, তবে অন্যান্য টিপসটি অনেক প্রশংসাযোগ্য!
ব্যবহারকারী 6014

#&@@Date[]-#&/@0~Range~120&আপনাকে দুটি বাইট সাশ্রয় করবে, কিন্তু তারপরে এটির একটি ক্রিয়াকলাপ তৈরির জন্য প্রান্তটি যুক্ত করতে &হবে (যা আমি মনে করি আপনার যাই হোক আপনার প্রয়োজন), সুতরাং মোট -1 বাইট।
নম্বরমানিয়াক

5

আর, 47 39 বাইট

as.double(substr(Sys.Date(),1,4))-0:120

যদি কেবলমাত্র কোনও ইউটিএফ -8 বাস্তবায়ন সংক্ষিপ্তভাবে সংক্ষিপ্তভাবে ব্যবহৃত ব্যবহৃত সিস্টেম ফাংশনগুলির সাথে আর এর একটি ইউটিএফ -8 বাস্তবায়ন আবিষ্কার করে ...

UPD: (!) 7 বন্ধ চাঁচা বকেয়া বাইট plannapus , যিনি subrtacting প্রস্তাব 0:120থেকে ভেক্টর বদলে কাউন্টিং aকরতে (a-120)এবং 1 বাইট Grâce à user5957401 , যিনি লক্ষ্য করেছি যে, doubleসেইসাথে কাজ করবে numeric। পুরাতন রুপ:

a=as.numeric(format(Sys.Date(),"%Y"));a:(a-120)

চারপাশে ফিডিং এবং seq(a<-...,a-120)শুধুমাত্র পরিস্থিতি আরও খারাপ করতে পারে।
Andreï Kostyrka

as.doubleপরিবর্তে বাধ্যতামূলক কমান্ড ব্যবহার as.numericকরে আপনাকে একটি বাইট সংরক্ষণ করবে। একইভাবে, যদি কোনও তারিখের ফর্ম্যাট করার পরিবর্তে, আপনি তারিখের প্রতিক্রিয়াটিকে স্ট্রিং হিসাবে ধরে টানতে এবং substr(Sys.Date(),1,4)অন্য বাইটটি সংরক্ষণ করে ব্যবহার করেন
ব্যবহারকারী5957401



4

পিএইচপি, 73 66 58 42 বাইট

<?=implode(', ',range($j=date(Y),$j-120));

আউটপুট:

2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979, 1978, 1977, 1976, 1975, 1974, 1973, 1972, 1971, 1970, 1969, 1968, 1967, 1966, 1965, 1964, 1963, 1962, 1961, 1960, 1959, 1958, 1957, 1956, 1955, 1954, 1953, 1952, 1951, 1950, 1949, 1948, 1947, 1946, 1945, 1944, 1943, 1942, 1941, 1940, 1939, 1938, 1937, 1936, 1935, 1934, 1933, 1932, 1931, 1930, 1929, 1928, 1927, 1926, 1925, 1924, 1923, 1922, 1921, 1920, 1919, 1917, 1917, 1916, 1915, 1914, 1913, 1912, 1911, 1910, 1909, 1908, 1907, 1906, 1905, 1904, 1903, 1902, 1901, 1900, 1899, 1898, 1897, 1896

আমাদের যদি আলাদা করার দরকার না হয় ,তবে 58 57 41 বাইট:

<?=implode(' ',range($j=date(Y),$j-120));

16 বাইট সংরক্ষণ করার জন্য insertusernamehere ধন্যবাদ


আপনাকে সত্যিকারের সাথে আলাদা করার দরকার ,নেই, অন্যান্য উত্তরগুলির মধ্যে অনেকগুলি দেখুন।
অ্যাডিসন ক্রম্প

এটি সেভাবে দেখায়, তবে আমি দুটি বিকল্প রাখব যাতে আমি যা করতে চাই তা করতে পারি এবং অনুরোধ করা হয়েছিল
gabe3886

আমি আমার মূল অ-কমা উত্তর আকারে কমা উত্তর পেতে পরিচালিত করেছি। এটাকে আমি যতটা গল্ফ করতে পারি বলে মনে করি
gabe3886

<?phpযেহেতু আমরা বিনা -r
Business Cat

2
বন্ধ গলফ 16 বাইট :<?=implode(', ',range($j=date(Y),$j-120));
insertusernamehere

4

পাইথন 2, 64 62 54 বাইট

import time
n=time.gmtime()[0]
exec'print n;n-=1;'*121

@ কার্লকাস্টার 8 টি বাইটের জন্য ধন্যবাদ!


time.gmtime().tm_year3 বাইট সংক্ষিপ্ত
কার্লকাস্টার

time.gmtime()[0]এমনকি আরও খাটো
কার্লকাস্টার

@ কার্লকাস্টার চমৎকার! টাইম মডিউল নিয়ে খেলা আমার জন্য প্রতিবার গোলকধাঁধায় যাওয়ার মতো। হারিয়ে যাওয়ার অনেক উপায়
অ্যাটলোলজিস্ট

4

PostgreSQL, 57 বাইট

যার দরকার FROM:-)। সম্ভবত কাজ করা উচিত নয়, তবে এটি স্ক্লোফিল্ডে চেষ্টা করুন

select date_part('y',current_date)-generate_series(0,120)

4

ওএস এক্স, 23-এ বাশ করুন

jot 121 `date +%Y` - -1

আপনার বিএসডি jotইনস্টল করা থাকলে এটি লিনাক্সেও কাজ করবে (উদাঃ) sudo apt-get install athena-jot


3

পাইথন 2, 62 বাইট

import time
for n in range(121):print int(time.ctime()[-4:])-n

এবং by৪ বাইটে:

for n in range(121):print int(__import__("time").ctime()[-4:])-n

3

ওরাকল এসকিউএল 11.2, 111 বাইট

SELECT LISTAGG(TO_CHAR(SYSDATE,'YYYY')-LEVEL+1,', ')WITHIN GROUP(ORDER BY LEVEL)FROM DUAL CONNECT BY LEVEL<122;

1
আমি লিস্ট্যাগটি প্রয়োজনীয় নয় এবং কেবল
আদেশযুক্ত

3

প্রক্রিয়াজাতকরণ, 51 42 41 বাইট

for(int i=0;i<121;)print(year()-i+++" ");

Ungolfed

for(int i = 0; i < 121;)
    print(year() - i++ + " ");

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


1
for(int i=0;i<121;)print(year()-i+++" ");
লিকি নুন

আমি "+++" পছন্দ করি, এটিকে এত সন্দেহজনক মনে হয়। পরামর্শের জন্য ধন্যবাদ!
কোডি

3

ম্যাটল্যাব, 18 বাইট

ধরে নিচ্ছি আউটপুট ফর্ম্যাটটি কিছুতেই আসে না (একদিকে ফর্মের উত্থানের ক্রমটি), নীচের প্রোগ্রামটি বর্তমানের 121 বছর ধরে প্রিন্ট করে।

year(date)-(0:120)

এর জন্য ম্যাটল্যাব সংস্করণ r2014a বা তারও বেশি প্রয়োজন। আগের সংস্করণগুলিতে yearফাংশনটি অন্তর্ভুক্ত ছিল না ।


3

জাভাস্ক্রিপ্ট, 55 52 50 49 বাইট

for(a=d=s=Date().substr(11,4);d-->s-120;)a+=" "+d

alertডেটাতে +9 বাইট (আপনি যদি এটি কনসোলে চালান তবে প্রয়োজনীয় নয়)।

for(a=d=s=Date().substr(11,4);d-->s-120;)a+=" "+d;alert(a)

-4 বাইট যদি ডিলিমিটারের প্রয়োজন হয় না।

for(a=d=s=Date().substr(11,4);d-->s-120;)a+=d

for (a = d = s = Date().substr(11, 4); d --> s - 120; )
    a += " " + d;
console.log(a);


1
[]গুলি অপ্রয়োজনীয় মনে করা হয়।
নীল

@ নীল: ধন্যবাদ আমার আসল সমাধানটিতে একটি অ্যারে ব্যবহার করা হয়েছিল, তবে আমি এটিকে সরাতে ভেবে দেখিনি।
Yay295

1
আপনি একটি ব্যবহার করে আপনি একটি বাইট সংরক্ষণ করতে পারবেন forপরিবর্তে whileএই করুন: for(a=d=s=Date().substr(11,4);d-->s-120;)a+=" "+d!
ডম হেস্টিংস

3

সি, 87 85 76 74 65 বাইট

main(int i,char**v){for(i=0;i<121;printf("%d,",atoi(v[1])-i++));}

Ungolfed:

main(int i,char**v){
    for(i = 0; i < 121; printf("%d,", atoi(v[1])-i++));
}

আমার প্রথম কোড গল্ফ - যে কোনও পয়েন্টার ভালভাবে গ্রহণ করা হবে। আমি যদি আরগসি / আরজিভি জাঙ্কটি কেটে ফেলতে পারি তবে ভাল হবে, তবে আমি সেই দক্ষ সি প্রোগ্রামার নই । উন্নতি স্বাগত জানায়।

সম্পাদনা : চলতি বছরটি কমান্ডলাইন থেকে প্রাপ্ত হয় - বিশেষত একদল স্বয়ংক্রিয়, সুশিক্ষিত পানীয় পাখি দ্বারা।

সম্পাদনা 2 : 85 বাইটগুলি ইস্টারলি ইরাককে ধন্যবাদ (আর্গ ফাংশন পরামিতিগুলির চারপাশে সরিয়ে নেওয়া স্থান)

সম্পাদনা 3 : 76 বাইট সুস্পষ্ট নির্দেশক জন্য anatolyg ধন্যবাদ (অপরিবর্তিত ভার্বোজ আরগসি / আরজিভি পরম নাম)

সম্পাদনা 4 : 74 বাইট Yay295 (চর ** ভি, পরিবর্তিত বছরের ডিলিমিটার) এর জন্য ধন্যবাদ

এডিট 5 : 65 বাইট Yay295 এবং ম্যাটকে ধন্যবাদ (ভেরিয়েবলটি পুনরায় ব্যবহৃত হয়েছে, ভেরিয়েবল এক্স মুছে ফেলেছে, লুপের জন্য পরিবর্তিত হয়েছে, অটোয় () পড়া এবং i++ অন্তর্ভুক্ত করতে প্রিন্টফ আপডেট হয়েছে)


1
আপনি একটি জায়গা না? int argc, char-> int argc,char?

2
প্রতিস্থাপন argcদ্বারা c(বা ভাল প্রতিস্থাপন int argcঠিক করে int) এবং argvদ্বারা vwhileদ্বারা প্রতিস্থাপন for। পরবর্তী পরিবর্তনটির জন্য সিতে কিছু অভিজ্ঞতা প্রয়োজন (তবে তা নির্বিশেষে মজাদার হতে পারে)।
অ্যানাটলিগ

1
char*v[]-> char**v1 বাইট সংরক্ষণ করে। আপনি একটি নতুন লাইনের পরিবর্তে একটি স্থান বা কমা দিয়ে আপনার বছরগুলি সীমিত করে অন্যকে সংরক্ষণ করতে পারেন।
Yay295

1
আপনি এটি খাটো করতে পারেন। 71 বাইট। মেইন (ইনট্রি সি, চর ** ভি) {ইনট আই = 0; যখন (আমি <120) প্রিন্টফ ("% d,", আতোই (v [1]) - i ++);
Matt

2
এমনকি খাটোও। 65 বাইট main(int i,char**v){for(i=0;i<121;printf("%d,",atoi(v[1])-i++));}
ম্যাট

3

জাভাস্ক্রিপ্ট, 60 53 48 বাইট

f=x=>x>Date().split` `[3]-121&&(alert(x),f(x-1))

আমি একটি পুনরাবৃত্তি সমাধান ব্যবহার করেছি।


1
আপনি এর console.logসাথে প্রতিস্থাপন করতে alertপারেন এবং শেষটি সরিয়ে ফেলতে পারেন ;
NoOneIs এখানে এখানে

1
f=x=>x>Date().split" "[3]-121&&(alert(x),f(x-1))ব্যাকটিক্স সহ উদ্ধৃতি চিহ্নগুলি প্রতিস্থাপন করে এর সাথে 5 বাইট সংরক্ষণ করুন ।
শেগি

2

পার্ল, 33 বাইট

say+(gmtime)[5]-$_+1900for 0..120

-M5.010বা সাথে চালান -E:

perl -E 'say+(gmtime)[5]-$_+1900for 0..120'

2

k, 27 বাইট

নির্দিষ্ট হিসাবে আউটপুট

1@", "/:$(`year$.z.d)-!121;

উদাহরণ:

k)1@", "/:$(`year$.z.d)-!121;
2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986, 1985, 1984, 1983, 1982, 1981, 1980, 1979, 1978, 1977, 1976, 1975, 1974, 1973, 1972, 1971, 1970, 1969, 1968, 1967, 1966, 1965, 1964, 1963, 1962, 1961, 1960, 1959, 1958, 1957, 1956, 1955, 1954, 1953, 1952, 1951, 1950, 1949, 1948, 1947, 1946, 1945, 1944, 1943, 1942, 1941, 1940, 1939, 1938, 1937, 1936, 1935, 1934, 1933, 1932, 1931, 1930, 1929, 1928, 1927, 1926, 1925, 1924, 1923, 1922, 1921, 1920, 1919, 1918, 1917, 1916, 1915, 1914, 1913, 1912, 1911, 1910, 1909, 1908, 1907, 1906, 1905, 1904, 1903, 1902, 1901, 1900, 1899, 1898, 1897, 1896

আউটপুট বিন্যাস না করে এবং কেবল পূর্ণসংখ্যার তালিকাটি ফিরিয়ে এটিকে আরও ছোট করা যেতে পারে:

(`year$.z.d)-!121


2

ভিম, 32 29 কীস্ট্রোক

কিছু কীস্ট্রোক সংরক্ষণ করতে এবং আউটপুটটিকে আরও সুন্দর করে তুলতে সহায়তার জন্য @ ডানিরোকে ধন্যবাদ ।

"=strftime('%Y')<Enter>pqqYp<Ctrl-x>q118@q
  • <Enter> হয় Enter
  • <Ctrl-x>হয় Ctrl+X

ব্যাখ্যা:

"                                          # Put into the register {
 =strftime('%Y')                           #   This year in YYYY form
                <Enter>                    # }
                       p                   # Paste the register
                        qq                 # Record macro q {
                          Y                #   Yank (copy) the current line
                           p               #   Paste
                            <Ctrl-x>       #   Decrment number at cursor
                                    q      # }
                                     118@q # Do macro q 118 times

আউটপুট ফরমেট:

প্রতিটি সংখ্যা নীচের মত পৃথক লাইনে থাকে।

2016
2015
.
.
.
1898
1897

ওপি স্পষ্টভাবে ভবিষ্যতের প্রুফ সংস্করণ চাইবে, তাই কেবল দ্বিতীয়টি প্রশ্নের উত্তর দেয়। আপনার কী পরে এন্টার কী (সাধারণত <CR>ভিম প্রসঙ্গে দেখা যায়) পাঞ্চ করার দরকার নেই :pu=strftime('%Y')? এছাড়াও, আপনি Yসম্পূর্ণ লাইন অনুলিপি ব্যবহার করে কিছু কীস্ট্রোক এড়িয়ে যেতে পারেন । মোট: :pu=strftime('%Y')<CR>qqYp<Ctrl-x>q118@q- 30 টি কি-স্ট্রোক
ডানিরো

এছাড়াও, আপনি =রেজিস্টার থেকে ইঁকতে পারেন : "=strftime('%Y')<CR>pqqYp<Ctrl-x>q118@q- ২৯ টি কীস্ট্রোক এবং এটি প্রথম খালি লাইন থেকে মুক্তি পেয়ে যায়
ড্যানিরো

আপনি যদি শেলও ব্যবহার করার অনুমতি পেয়ে থাকেন তবে dateইউটিলিটি দিয়ে আপনি আরও পাঁচটি কীস্ট্রোক সংরক্ষণ করতে পারেন ::.!date +\%Y<CR>qqYp<C-x>q118@q
জন গওয়ার্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.