"পাসওয়ার্ড" শব্দটি পাওয়া না পাওয়া পর্যন্ত এমন একটি প্রোগ্রাম লিখুন যা নিষ্ঠুর বলের সংমিশ্রণ সম্পাদন করে


16

প্রোগ্রামটির বর্ণমালা অনুসারে প্রতিটি বর্ণের সংমিশ্রণ (ছোট হাতের বা বড় হাতের অক্ষর) এটি মুদ্রণ করা উচিত। এটি অবশ্যই শুরু করা উচিত aএবং শেষ মুদ্রিত সংমিশ্রণটি হওয়া উচিত password

আউটপুটটি হওয়া উচিত:

a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ... passwora passworb passworc password

2
পৃথককারীদের কি ফাঁকা স্থান থাকতে হবে, বা আমি নতুন লাইনগুলি ব্যবহার করতে পারি?
ইলমারি করোনেন

হ্যাঁ আপনি পারবেন, এটি কেবল একটি সামান্য পরিবর্তন is
ST3

উত্তর:


32

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

say for a..password

উপরের স্পষ্টতা অনুসারে ডিলিমিটার হিসাবে নিউলাইনগুলি ব্যবহার করে। পার্ল ৫.১০+ বৈশিষ্ট্য সক্ষম করতে perl -M5.010(বা কেবল perl -E 'say for a..password') সাথে চালান say। প্রতি মেটা , এই যেমন অতিরিক্ত অক্ষর গণনা করা হয় না।

(আপনি-বিভেদক রূপে স্পেস পীড়াপীড়ি পারেন, $,=$";say a..passwordমাত্র দুটি অক্ষর আর। যাইহোক, এটা এছাড়াও খুব ধীর এবং মেমরি অযথা বাস্তবে অব্যবহারযোগ্য হচ্ছে বিন্দু, যেহেতু এটা প্রিন্ট করার পূর্বে মেমরি সমগ্র তালিকা তৈরী করতে চেষ্টা করে।)


18

রুবি, 33 টি অক্ষর (অনুকূল তবে দীর্ঘতর সংস্করণ)

?a.upto('password'){|c|$><<c+' '}

আমি পছন্দ করি 'a'.upto('password'); এটি ঠিক কী করছে তা আপনাকে জানায় । রুবি দুর্দান্ত এবং মত প্রকাশ করে।:D

অবশ্যই, print c,' 'এটি আরও পরিষ্কার হবে, তবে ব্যবহার $>দুটি অক্ষর ছোট।

রুবি, 29 25 টি অক্ষর (ধীর সংস্করণ)

$><<[*?a..'password']*' '

এটির চেয়ে ছোট, তবে এটি সমস্ত টোকেন একবারে মুদ্রণ করে, তাই এটি চালাতে অনেক দীর্ঘ, দীর্ঘ সময় লাগে!


1
চমৎকার, বিশেষ করে প্রথম।
ক্যারি সোভেল্যান্ড

ধীর সংস্করণে (?a..'password').to_aএটিকে সংক্ষিপ্ত করা যেতে পারে[*?a..'password']
পল প্রেস্টিজ

6

পার্ল, 33 32 24 টি অক্ষর

32 টি অক্ষরে একটি সমাধান:

$_=a;print$_++,$"until/passwore/

এই সম্পর্কে খুব বেশি বলার অপেক্ষা রাখে না। আমি এন্ট্রিগুলি পৃথক করার জন্য স্পেসগুলির পরিবর্তে নতুন লাইনগুলি ব্যবহার করতে পারলে আমি এটি 27 টি অক্ষরে কমাতে পারতাম।

ইলমারি করোনেন উল্লেখ করেছেন যে ..অভ্যন্তরীণভাবে কল রয়েছে ++, সুতরাং আরও ভাল সমাধান (25 টি অক্ষর) হ'ল :

print$_,$"for a..password

পার্লের কমান্ড-লাইন বিকল্পগুলির সুবিধা গ্রহণ করে, এখানে 24-অক্ষরের সমতুল্য সমাধান রয়েছে:

perl -l40e 'print for a..password'

পার্ল পতাকা গণনা করার নিয়মগুলি এখানে, যারা তাদের সাথে পরিচিত নন।

অবশ্যই, ইলমারির 21-অক্ষরের সমাধানটি এখনও কম, তবে এটির জন্য এমন একটি মেশিন প্রয়োজন যা 129,052,722,140 স্ট্রিংয়ের অ্যারে বরাদ্দ করতে পারে।


.$"পরিবর্তে ," "একটি চরিত্র সংরক্ষণ না ?
মিঃ লামা

হ্যাঁ, আমার পক্ষ থেকে মোট তদারকি। ধন্যবাদ।
ব্রেডবক্স

6

পার্ল 6, 20 অক্ষর

say "a".../password/

আপনার অন্য জিনিস দরকার নেই


5

পাইথন 2, 91

b=lambda n:n*' 'and b(n/26-(n%26<1))+chr(~-n%26+97)
i=0
exec"i+=1;print b(i);"*129052722140

4

পিএইচপি 38 37 36 টি অক্ষর

<?for($w=a;$w<passwore;)echo$w++,~ß;

আপনাকে আইএসও 8859-1 এ এনকোডিং সেট করতে হবে এবং সতর্কতাগুলি অক্ষম করতে হবে।


আমি এটি পরীক্ষা করিনি, তবে এটি কি সত্যিই তা করে ???
ST3

@ এসটি 3 এটি একটি সাধারণ লুপ। ভেরিয়েবলটি $wপ্রথমে 'এ' তে সেট করা থাকে এবং এটি 'পাসওয়ার্ড' (প্রথম স্ট্রিংটি মুদ্রণ না করা) পরে প্রথম মান না পৌঁছানো পর্যন্ত বাড়ানো হয়।
লোর্টাব্যাক

3
@ এসটি 3 এটি একটি নিয়মিত forলুপ। এই কোডে বিস্ময়কর কিছুই নেই, শেষ 2 টি অক্ষর ব্যতীত, যা কিছুটা বিপরীত-উল্টানো সাদা স্থান। যাইহোক, হ্যাঁ, আমি এটি একটি ছোট শব্দ পর্যন্ত পরীক্ষা করেছি tested
lortabac

1
@ ST3 এখানে একটি পরীক্ষা থেকে passwoqsথেকে password। কোডেপ্যাডের এনকোডিংটি আইএসও 8859-1 নয়, আমাকে একটি সাদা জায়গা দিয়ে প্রতিস্থাপন করতে হয়েছিল ।
lortabac

1
আপনার সাথে একটি গৃহস্থালির কাজ সংরক্ষণ করতে পারবেন $w<passworeপরিবর্তে $w!=passwore
ডিসেন্ট ড্যাবলার

2

রুবি (40 অক্ষর)

অ্যাস অক্ষরের একটি স্ট্রিংকে a = 1, b = 2, ..., z = 26 সহ বেস 26 তে একটি সংখ্যা হিসাবে ব্যাখ্যা করুন।

সুতরাং "পাসওয়ার্ড "টিকে N = নাম্বার হিসাবে ভাবা যেতে পারে

16*(26**7) + 
1*(26**6) + 
19*(26**5) + 
19*(26**4) + 
23*(26**3) + 
15*(26**2) + 
18*(26**1) + 
4*(26**0)

যদি আমরা যাক s = "a"(তা: 1) এবং আমরা (এন -1) কল করি s.succ!, এস হবে "password"(এন)। অন্য কথায়, এন = 1 + (এন -1)।

উদাহরণস্বরূপ যা আরও দ্রুত চলবে, এন এর গণনা সঠিক প্রমাণ করতে, "pass"লক্ষ্য হিসাবে বিবেচনা করুন, যেখানে এন is

16*(26**3) + 
1*(26**2) + 
19*(26**1) + 
19*(26**0)

এবং

s = "a"
(N-1).times { s.succ! }
puts s #== "pass"

যেহেতু আমরা "a"খুব মুদ্রণ করতে চাই, আমাদের প্রয়োজন

s = "`"
N.times { print(s.succ! + " ") }

সুতরাং সম্পূর্ণ "পাসওয়ার্ড" এ ফিরে আসুন। N = 129052722140চলে যাচ্ছে:

s=?`;0x1e0c2443dc.times{$><<s.succ!+" "}

আমি আরও কমপ্যাক্ট ফর্মের জন্য শিকার করেছি 129052722140 == 0x1e0c2443db কিন্তু একটিও পাইনি।

(মুদ্রণের অভাব ঠিক করতে আপডেট হয়েছে "a", ক্যারিকে ধন্যবাদ।)


1
আদম, তুমি নিশ্চয়ই আমার মনের দিক থেকে এলে আপনি কি 'এ' এর আগে একটি শুরু করতে চান না?
কেরি সোভেল্যান্ড

আমি মনে করি আপনি যা পেয়ে যাচ্ছেন তা হ'ল আমি আমার পুনরাবৃত্তির Nপরিবর্তে ব্যবহার করেছি N-1! ধন্যবাদ, আমি ঠিক করতে সম্পাদনা করব। (যদিও 129052722140 গুগলের কাছে একটি আকর্ষণীয় নম্বর :)))
অ্যাডাম প্রেসকোট

1
0x1e0c2443db কেবল 129052722139 হিসাবে অনেকগুলি অক্ষর
স্টেনস্লাগ

আমি কি বোঝানো যে যদি ছিল s=?a, s.succ!'b'` আরম্ভ করা হয়।
কেরি সোভেল্যান্ড

1
এর সাথে s=?aএবং N-1আপনি 'বি সি ... পাসওয়ার্ড' পাবেন; সঙ্গে s =<ব্যাকটিক> এবং Nআপনি পেতে 'একটি খ ... পাসওয়ার্ড'। এসও আউটপুটটি শুরু করার অনুরোধ করেছিল 'a'। এখানেই শেষ.
কেরি সোভেল্যান্ড

2

জাভাস্ক্রিপ্ট, 73

এখানে @ ব্রিগুইস কোডের একটি 73 টি চরিত্রের সংস্করণ রয়েছে, যা কেবলমাত্র অক্ষরের সংমিশ্রণগুলি মুদ্রণ করে

for(i=s=0;1982613533018>i++;s=i.toString(36))/\d/.test(s)||console.log(s)


2

এপিএল (ডায়ালগ), 46 34

{∇{'PASSWORD '≡⍞←⍵:→⋄⍵}¨⎕A∘.,⍵}' '

তাত্ত্বিকভাবে, এটি পাসওয়ার্ড অবধি মুদ্রণ করবে, তবে আমি জেডজেডজেড-এর পরে একটি কাজের জায়গার পূর্ণ ত্রুটির মুখোমুখি হয়েছি: 5-মাত্রিক অ্যারেটি খুব দুর্দান্ত।

সম্পাদনা: এপিএল নিয়ে শেষবারের মতো বিস্মৃত হওয়ার পরে নিশ্চয়ই খুব বেশি দিন কেটে গেছে। আমি পরিচয় তুলনা মিস কিভাবে সাহস ( ) !!!

ব্যাখ্যা

{...}: একটি ফাংশন ঘোষণা করে যা ...
⎕A∘.,⍵: ২ u টি বড় হাতের আলফা ( ⎕A) এবং আর্গুমেন্টের মধ্যে ( কার্টেসিয়ান প্রোডাক্টের মতো ডান অপরেন্ডের একটি উপাদান দিয়ে বাম অপারেন্ডের প্রতিটি উপাদান সংমিশ্রণ) ওভার কনটেন্টেশনের উপর নিয়ে যায় )

{...}¨: এবং ফলাফলের সেটগুলির প্রতিটি উপাদানগুলির জন্য, এটি কোনও ফাংশনে প্লাগ করুন যা ...
⍞←⍵: এটি প্রিন্ট করে
'PASSWORD '≡এবং এটির সাথে তুলনা করুন 'PASSWORD '
: যদি তুলনাটি সত্য হয় ( 1), তবে প্রোগ্রামটি বাতিল করুন।
: অন্যটি কেবল মুদ্রিত স্ট্রিংটি ফেরত দিন।

: অবশেষে, বাহ্যিক ক্রিয়াটি পুনরাবৃত্তি হয়।

(তারপরে আপনি ২ al টি আলফা এবং ২ al টি আলফার মধ্যে একত্রে বহিরাগত পণ্য গ্রহণ করছেন, যা সমস্ত 2-বর্ণের সংমিশ্রণ দেয় এবং তারপরে 2-অক্ষরের সংমিশ্রণ এবং 26 আলফা ইত্যাদির মধ্যে একত্রে বহিরাগত পণ্য ... যতক্ষণ না আপনি পাসওয়ার্ডে পৌঁছান যা বাতিল বন্ধ করে দেয়)

' ': স্ফুলিঙ্গ!! যে মহাশূন্য চরিত্রের সাথে পুনরাবৃত্তি ফাংশন শুরু করুন।


2

পাইথন 2 - 153 152 151 149 বাইট

from itertools import*;R=range
for l in iter(chain(*[product(*((map(chr,R(65,91)),)*n))for n in R(1,9)]).next,tuple("passwore")):print ''.join(l)

UPPERCASE ব্যবহার করে একটি বাইট এবং স্পেসের পরিবর্তে নতুন লাইন ব্যবহার করে একটি বাইট সংরক্ষণ করা হয়েছে।


1

গল্ফস্ক্রিপ্ট 41

'z'+1 == 'aa'লজিকের অভাবে গল্ফস্ক্রিপ্ট এটিকে জিততে পারে না।

168036262484,(;{27base{96+}%' '+.96?0<*}%
  • 168036262484, 0 থেকে 168036262483 এ অ্যারে তৈরি করুন
  • (; 0 ড্রপ
  • {.. }%অ্যারের উপর পুনরাবৃত্তি
  • 27base উপাদানটি বেস 27 অ্যারে রূপান্তর করুন
  • {96+}% প্রতিটি সংখ্যায় 96 যুক্ত করুন
  • ' '+ স্ট্রিংয়ে রূপান্তর করুন এবং শেষে একটি স্থান যুক্ত করুন
  • .96?0<* স্ট্রিংটি শূন্যে ছিন্ন করুন যদি এটিতে 96 টি চর থাকে

1

রুবিতে, 39 40

a=&`
0x1e0c2443dc.times{$><<a.succ!+' '}

..ও 129052722140। (সম্পাদনা: পূর্বে আমার ছিল had 129052722আমি কিছু সংখ্যক কাটা এবং আটকানো হারিয়েছিলাম Previous আগের হেক্স ( 0x7B13032) ভুল সংখ্যার জন্য ছিল))। a=?`একটি চরিত্র সংরক্ষণ করার জন্য @ ডুরকনব থেকে ধার নেওয়া।


আমি a=?` জিনিসটি ঠিক করার চেষ্টা করেছি , এটিকে দারুণভাবে অদ্ভুত বলে মনে হচ্ছে এবং শেষে একটি অতিরিক্ত জায়গা রয়েছে তবে কমপক্ষে এটি কাজ করে: পি
ডুরকনব

তাহলে 129052722 নম্বরটি কোথা থেকে আসে? আমার গণনা অনুসারে, এটি আপনাকে "a" থেকে "কুইকোকগ" ... কিছুটা ছোট পরিসর দেবে বলে মনে হচ্ছে।
ব্রেডবক্স

@ ব্র্যাডবক্স আমি নিম্নলিখিত নম্বরটি দিয়ে এই সংখ্যাটি গণনা করেছি (বিন্যাসের জন্য দুঃখিত, তবে মন্তব্যে সীমাবদ্ধতা আছে, তাই?): ORD_BASE_ASCII = 'a'.ord-1; def nbr(word); len = word.size; word.split('').inject(0) {|t,c| offset = c.ord - ORD_BASE_ASCII; t + offset*(26**(len -= 1))}; end কিছু সিকোয়েন্স মুদ্রণ করে এটি সঠিক কিনা তা নিশ্চিত করা সহজ।
ক্যারি সোভেল্যান্ড

@ ব্রিডবক্স আপনি ঠিক বলেছেন সম্পাদনা দেখুন। আমি মন্তব্যে যে পদ্ধতিটি দিয়েছি তা ঠিক আছে।
ক্যারি সোভেল্যান্ড

Fencepost ত্রুটি। আপনার স্ক্রিপ্ট একটি = 1..z = 26 ব্যবহার করে গণনা করছে। সঠিক গণনা পেতে আপনাকে একটি = 0..z = 25 গণনা করতে হবে। প্রথম লাইন থেকে -1 সরিয়ে, আপনি 120699639557 পাবেন, যা (জিরোথ প্রবেশের জন্য একটি যোগ করা) আমার গণনার সাথে মেলে।
ব্রেডবক্স

1

javascript: 57 56 টি অক্ষর (ধন্যবাদ C5H8NNaO4)

এখানে একটি সমাধান এখানে সম্ভাব্য অক্ষর হিসাবে সংখ্যার অন্তর্ভুক্ত রয়েছে ("0", "1", "2", .., "পাসওয়ার 9", "পাসওওরা", "পাসওয়ার্ব", "পাসওয়ার্ক", "পাসওয়ার্ড")

for(i=-1;i++<1982613533017;console.log(i.toString(36)));

পরীক্ষার জন্য এখানে একটি বেহালতা রয়েছে (কেবলমাত্র সর্বশেষ 100 টি পুনরাবৃত্তির সাথে এটি আপনার ব্রাউজারটিকে লক করে না)।


3
এই সমাধানটি ভুল, এটি নির্দিষ্টকরণ অনুসরণ করে না।
ডোরকনবব

@ ডুরকনব - হ্যাঁ, আমি আমার উত্তরে এটি উল্লেখ করেছি। এটি এখনও সমস্ত ক্ষেত্রে মূল প্রয়োজনীয়তা থেকে মুদ্রণ করে তবে সমস্ত আলফা-সংখ্যাসূচক ক্ষেত্রেও মুদ্রণ করে।
ব্রিগেয় 37

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

@ ব্রিগ্যুয়ে 37 অনুমানটি print every **letter** combinationযাইহোক বলছে , একটি চরিত্র সংরক্ষণ করুন:{} -> ;
C5H8NNaO4

@ C5H8NNaO4: কোন সমাধানটি আমার সমাধান মুদ্রণ করে না? টিপ জন্য ধন্যবাদ!
ব্রিগেয় 37

1

হাস্কেল, 101

main=putStrLn.concat.takeWhile(/="passwore ").tail.concat.iterate(\k->[x:y|x<-['a'..'z'],y<-k])$[" "]

0

বেফুঞ্জ (72)

<_v#:/*2+67\+++88*99%*2+76:
^ >$>:#,_84*+,1+:0\:" Lr$W~"67++**1+***6+`#@_

স্পেস দিয়ে আলাদা করে 'এ' থেকে 'পাসওয়ার্ড' স্ট্রিংগুলি মুদ্রণ করে, তারপরে প্রস্থান করে।

নীচে একটি সংস্করণ দেওয়া হয়েছে যা তুলনার জন্য কেবল প্রথম 9 * 9 = 81 শব্দ ('এ' থেকে 'ডিডি') মুদ্রণ করে। 99*পুনরাবৃত্তিও সম্পাদন করতে সংখ্যা।

<_v#:/*2+67\+++88*99%*2+76:
^ >$>:#,_84*+,1+:0\:99*`#@_

0

জাভাস্ক্রিপ্ট 80 76

for(i=s=0;s!="password";i++){s=i.toString(36).replace(/[0-9]/,'');console.log(s)}

ফিডল - "পা" এ থামে।

তবে এটি জিনিস পুনরাবৃত্তি করে।


i=s=0আরও তিনটি অক্ষর বাঁচাতে আপনি লুপটি আরম্ভ করতে পারেন ।
রাই-

@ মিনিটেক সম্পন্ন হয়েছে।
ম্যাথ চিলার

1
কেন রাখ var? iআগে বিশ্বব্যাপী ছিল; এখন sএকটি বিশ্বব্যাপী। আপনি সাধারণত উভয় গ্লোবালকে কোড গল্ফে রাখতে পারেন, সাধারণত।
রাই-
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.