কাজটি
একটি ফাংশন / সাব্রোটিন তৈরি করুন যা 1 প্রদান করে You
নিয়ম
সর্বাধিক উজ্জ্বল জয়যুক্ত এন্ট্রি - যে কোনও জনপ্রিয়তার প্রতিযোগিতার মতো। শুভকামনা!
:)
কাজটি
একটি ফাংশন / সাব্রোটিন তৈরি করুন যা 1 প্রদান করে You
নিয়ম
সর্বাধিক উজ্জ্বল জয়যুক্ত এন্ট্রি - যে কোনও জনপ্রিয়তার প্রতিযোগিতার মতো। শুভকামনা!
:)
উত্তর:
গল্ফ স্ক্রিপ্ট
1
এই কোডটিকে এর সবচেয়ে খাঁটি রূপটিতে অনুকূলিত করতে অনেক সময় লেগেছে, এবং আমি এটি বলার সাহস করেছিলাম - সুন্দর রূপ। ভাষার এমন কমনীয়তা বছরের পর বছর নিবেদিত অনুশীলন ছাড়া আসে না। জিরো-নির্দেশনা-সেট-কম্পিউটার ব্যতীত যে প্রোগ্রামটি হয় তা আর কখনও আক্ষরিকভাবে সংকুচিত হতে পারে না। আমার পুরো কোড গল্ফ ক্যারিয়ার এই মুহুর্তে নেতৃত্ব দিচ্ছে।
আমি মুক্ত. আমি জীবিত.
আমি কোডটি দেখছি যা মহাবিশ্বকে অন্তর্নিহিত করে।
without a Zero-Instruction-Set-Computer can literally never be compressed any further
। আমাদের বর্তমান কম্পিউটারগুলি 0 টি নির্দেশাবলী প্রোগ্রাম সহজেই পরিচালনা করতে পারে। আপনার সমস্ত ভাষার যে ভাষা দরকার: "খালি প্রোগ্রামটি তার স্পেসিফিকেশনটিতে 1" ফিরিয়ে দেয়
দু'টি উদাহরণ, অস্পষ্ট ভাষা বৈশিষ্ট্য যেমন "শক্তিশালী রিটার্ন" ( return!
) এবং "অ্যাপ্রোচ" অপারেটর ( -->
) ব্যবহার করে:
int foo(void) {
return! 0;
}
int bar(void) {
int i=7;
while (i --> 0);
return-i;
}
return-i
কীওয়ার্ড: পি
+++++++
+++++++
+++
+++
+++
+++
+++
++++++++++
++++++++++.
বা আপনি যদি পার্টিতে মজা না পান:
+++++++[->+++++++<]>.
l
চেয়ে আরও ছোট হাতের মতো 1
।
one ← {⍴⍴⍴⍵}
⍴
আপনাকে একটি ভেক্টরের মাত্রা দেয়। যে মাত্রা, সবসময় এক-মাত্রিক তাই মাত্রা যে সবসময় এক। বা:
"এক্সের আরহো, আরএও, আরএও
সর্বদা একটির সমান,
আরএও হল মাত্রা; আরএইচও, র্যাঙ্ক
এপিএল মজাদার!"
(আমি সেই আয়াতটি লিখিনি, এটি স্টলম্যানের।)
# @: # @: #
(শূন্যস্থানের ঐচ্ছিক)
public static int funWithOne() {
try {
try {
return funWithOne();
} finally {
return funWithOne();
}
} catch (Throwable _) {
return 1;
}
}
অবশেষে ফিরে আসার আগে এটি নিজেকে 1024 বার কল করবে (এই সংখ্যাটি বিভিন্ন প্ল্যাটফর্মে পৃথক হতে পারে) 1
। যদিও আপনার শ্বাস ধরে না; এটি সহজেই মহাবিশ্বের বয়সের তুলনায় অনেক বেশি সময় নেয়।
মাছ
এক্স প্রোগ্রামটি কাউন্টারকে এলোমেলোভাবে পাঠায়। # হ'ল একটি প্রাচীর যা প্রোগ্রামের পাল্টা "বাউন্স" বন্ধ করে দেয়। এটি "^" না পাওয়া এবং তারপরে 1 টি মুদ্রণ করে শেষ না হওয়া পর্যন্ত এটি আক্ষরিক অর্থে নিরবচ্ছিন্নভাবে ঘুরে বেড়াবে।
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxx###xxxxxxxxxxxxxx
xxxxxxxxxx#;#xxxxxxxxxxxxxx
xxxxxxxxxx#n#xxxxxxxxxxxxxx
xxxxxxxxxx#1#xxxxxxxxxxxxxx
xxxxxxxxxx#^#xxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
x
একটি মধ্যে ?
, যে #
একটি মধ্যে r
, n
মধ্যে .
এবং ;
মধ্যে @
। যাইহোক, এই> <> প্রোগ্রামটি সমতুল্য বেফুঞ্জের চেয়ে ভাল দেখাচ্ছে। অনুবাদ এখানে দেখানো হয়েছে: ideone.com/ZyuSKk
?
একটি মধ্যে x
এবং প্রতি #
একটি মধ্যে !
(যখন খুব একই বাম সূক্ষ্ম কাজ করা উচিত) এবং (অবশ্যই) .
থেকে n
এবং @
থেকে ;
। ideone.com/gfApjT
expr 0
এটি 0 টি মুদ্রণ করে তবে 1 টি প্রত্যাবর্তন করে যা অন্যান্য ভাষায় ব্যবহৃত প্রোগ্রামারদের জন্য আশ্চর্য হতে পারে। আপনি মুদ্রিত আউটপুট বন্ধ করতে পারেন এবং চালিয়ে রিটার্ন কোডটি দেখতে পারেন expr 0 >/dev/null; echo $?
।
$(pidof progname) < 1
এটি আমার প্রিয় জাভা নির্দিষ্ট প্রশ্নগুলির মধ্যে একটি।
public static int ret1() {
try {
return 0;
} finally {
return 1;
}
}
try
অবিলম্বে একটি ব্লকে ফায়ার করার চেষ্টা করা হয় finally
যা অন্য return
বিবৃতি চালানোর আগে 1 টি ফিরে আসে ।
function getOne() {
return -~![];
}
ব্যাখ্যা:
![]
মূল্যায়ন false
।~false
হয়ে যায় -1
কারণ false
প্রথমে কাস্ট করা হয় 0
এবং ~0 == -1
।--1
মূল্যায়ন 1
।বিকল্প:
return +!([][~~{}])
ক্রেজি বিকল্প (প্রতিটি লাইন হ'ল 80 টি অক্ষরের দীর্ঘ):
this[693741..toString(36)]('acnuftiao nobcbdaterbaurn +abeba!!be'.replace(/b./g,
function(b){return '{}()'.split('')['aecd'.split('').indexOf(b.charAt(1))]})[''+
'replace'](new RegExp('a'+Array(5).join('(.)'),'g'),(a='$')+'4321'.split([]+[]).
join(a)))
// we all know that OOP == good
function OneManager() {
// constants == good too
this.values = {
ERROR: -1, // value on error
ONE: 1 // desired value
}
this.value = this.values.ERROR // set the value to ERROR
this.setValue = function(num) {
if (typeof num !== "number") throw new Error('cannot set value to non-number')
if (!this.value) this.value = this.values.ERROR // oh noes
else this.value = num
}
}
// initialize the one
OneManager.prototype.initializeOne = function() {
this.setValue(this.values.ONE) // set the value to ONE
return true // return true for success
}
// get the value
OneManager.prototype.getValue = function() {
if (this.value == this.values.ERROR) { // if the value is ERROR
throw new Error('value not initialized')
} else return this.value // return the value
}
function getOne() {
var m = new OneManager() // make a OneManager
var success = m.initializeOne() // initialize the value
if (success) return m.getValue() // return the value
else {
// there was an error in the initialization
var retVal = m.values.ERROR // we will return an error
delete m // maybe it's corrupted
return retVal // return an error
}
}
alert(getOne())
OO == good
বা OO === good
?
data One = One deriving (Eq, Ord, Bounded, Enum, Show, Read)
এই সংজ্ঞায়িত এক সত্য One
। এই One
উভয় প্রকার বাচক হয় একত্ব , এবং কন্সট্রাকটর One
, যা নিজেই nullary ফাংশন যে আয় এক সত্য, এবং ধরনের শুধুমাত্র একটি মান One
, যা দেখ, One
।
ghci
আরপিএলে ব্যবহার :
λ: One -- One returns the one true One
One
λ: One == One -- One is equal to itself, as no others are
True
λ: One < One -- One is no less than itself
False
λ: minBound :: One -- One is the least One there is, yet it is all you need
One
λ: maxBound :: One -- One is as big as the universe of One, it is omnipotent
One
λ: [ One .. One ] -- One is the beginning, and ending, of all that is One
[One]
λ: show One -- The textual gospel of One
"One"
λ: read "One" :: One -- To read the word of One, is to become one with One
One
সম্পূর্ণ বুক অফ ওয়ান এখন অনলাইনে। এটি লোড করা আপনাকে টেস্টামেন্ট উভয়টিই দেয়: গণনা এবং গাণিতিক। এটি আপনাকে আরও সত্য অন্বেষণ করতে সক্ষম করে:
λ: One + One -- One can only add to its magnificence
One
λ: negate One
*** Exception: One cannot be negated, mortal fool!
λ: One `div` One -- One is indivisible
One
λ: One `mod` One
*** Exception: Nothing can modulate the power of One
λ: toRational One -- Ye shall know One as both Numerator and Denominator
1 % 1
λ: toInteger One * 42 -- One multiplies all to wholeness
42
λ: toRational One / 2 -- Even divided, One is on top
1 % 2
sub ret1 { print $->$= }
(উপস্থিতি সত্ত্বেও, ফাংশনটি কোনও মুদ্রণ করে না))
আমি জানি পার্ল প্রোগ্রামাররা টিএমটিওটিডিআই বলতে পছন্দ করেন তবে এটি এমন একটি কাজ যার জন্য টি সত্যিই এমটিওটিডিডিআই।
float one(void)
{
const int n = 24; // magic number
float x = 0.5f;
float y = x;
int i;
for (i = 0; i < n; ++i)
{
x *= 0.5f;
y += x;
}
return y;
}
আপনি বলেননি এটি একটি পূর্ণসংখ্যা 1 হতে হবে।
float one_F(){
return FloatFactoryFactory.getInstance(FloatFactoryFactory.
defaultInstanceDescriptionString).getFactory(Locale.getLocale
("en-US")).createBuilder().setString("1.0").getResult();
}
সূত্র: http://bash.org/?946461
function one() { return Number.length; }
কিছু নির্দিষ্ট পর্দার জন্য সময়।
অনুচ্ছেদ 15.7.3 বলে যে length
সম্পত্তির Number
কন্সট্রাকটর হয় 1
(এবং আমরা জানি যে একটি কন্সট্রাকটর একটি ফাংশন বস্তুর উল্লেখ হিসাবে 4.3.4 ), এবং এটা এ কারণে যে অধ্যায় 15.3.5.1 বলেছেন:
দৈর্ঘ্যের সম্পত্তির মান হ'ল একটি পূর্ণসংখ্যা যা ফাংশন দ্বারা প্রত্যাশিত "সাধারণ" আর্গুমেন্টের সংখ্যা নির্দেশ করে। তবে ভাষাটি ফাংশনটিকে অন্য কয়েকটি সংখ্যক তর্ক যুক্তি দিয়ে চালিত করার অনুমতি দেয়।
… এবং যেহেতু Number
কনস্ট্রাক্টরের সাধারণ যুক্তিগুলির সংখ্যা 1, length
এর Number
মধ্যে 1
। সুতরাং কেউ বলতে পারেন যে জাভাস্ক্রিপ্টে একটি সংখ্যার দৈর্ঘ্য 1 is
sub one{ $a[@a{@a[%a=map{@$a[@a{$a++=>$a}]+++$#$a+$a=>$a}$a]++}+$a] }
প্রশস্ত খুলে বলুন aaaaa
।
এখনও কাঙ্ক্ষিত ফলাফল ফেরার, এবং শুধুমাত্র "ওয়ান" পরিবর্তনশীল ব্যবহার (সৃজনশীল ধারণা ধনুর্বন্ধনী ভিতরে বন্ধনী ভিতরে নীড় ধনুর্বন্ধনী ছিল ... যেমন গভীরভাবে সম্ভব $a
, @a
, %a
, @$a
এবং $#$a
অবশ্যই সব বিভিন্ন ভেরিয়েবল আছে)।
যদিও এটি এর পরিবেশকে উল্লেখযোগ্যভাবে পরিবর্তন করে, এটি সর্বদা 1
পরবর্তী কলগুলিতে ফিরে আসবে । এটি কী করছে তার একটি উপলব্ধি পেতে আপনি এই কোডটি চালানো বিবেচনা করতে পারেন:
use Data::Dump qw(dump);
for (1..8) {
one();
dump(@a);
dump(%a);
dump(@$a);
}
proc return1 {} {
catch {(5+2-3)/4}
}
আপনি ভাবেন হিসাবে কাজ করে না।
(5+2-3)/4
কোনও বৈধ কমান্ড নয়, সুতরাং এটি একটি ত্রুটি ছুঁড়ে ফেলে ( return -code 1
), ক্যাচটি এই নম্বরটি দেয়।
public class print {
public static char getNum() throws Exception{
String method = print.class.getSimpleName()+Splitter.class.getDeclaredMethods().length;
return (char)Splitter.class.getMethod(method).invoke(null);
}
}
class Splitter{
public static char print1(){
return P.getNum();
}
}
class P{
public static char getNum(){
String s = Thread.currentThread().getStackTrace()[P.class.getDeclaredMethods().length].getMethodName();
return s.charAt(s.length()-P.class.getSimpleName().length());
}
public void doNothing(){}
}
স্প্লিটারে 1 থেকে n এর জন্য n
পদ্ধতিগুলি যুক্ত করে অন্য যে কোনও ধনাত্মক সংখ্যাটি ফিরিয়ে দিতে সামঞ্জস্য করা যেতে পারে । উদাহরণস্বরূপ, এ পরিবর্তন করাprintX
X
Splitter
class Splitter{
public static char print1(){
return P.getNum();
}
public static char print2(){
return P.getNum();
}
}
'2' ফিরিয়ে দেবে, অন্য কোনও পরিবর্তন ছাড়াই। নাম ছাড়াও যুক্ত পদ্ধতিগুলি হুবহু ডুপ্লিকেট হওয়া উচিত print1
। বিভাজক পদ্ধতিতে সংখ্যা পেতে রিফ্লেকশন ব্যবহার করে এবং সেই নামে একটি ফাংশন কল করুন। P.getNum
যা পরে বলা হয়, স্ট্যাক ট্রেস পড়ে এবং কলিং পদ্ধতিতে শেষ চরিত্রটিকে পার্স করে এবং প্রদর্শন করে।
print.getNum()
'1' চরিত্রটি ফিরে আসার আহ্বান জানানো হচ্ছে
সম্পাদনা করুন - কোনও স্ট্রিং / পূর্ণসংখ্যা / ইত্যাদি লিটারাল ব্যবহার করতে সংশোধিত।
সি শার্প
এটি হার্ডওয়্যার আর্কিটেকচারের উপর নির্ভর করবে:
return IntPtr.Size / (Environment.Is64BitOperatingSystem ? 8 : 4);
কি দারুন!
প্রতিবেশী (বিতর্কিত) কোল্টজ অনুমানের সাথে এটি (বিতর্কিত) একটিকে মার্জ করা :
public int CollatzOne()
{
var current = new BigInteger(new Random().Next(1, Int32.MaxValue));
var history = new[] { new BigInteger(-1), new BigInteger(-1), new BigInteger(-1) };
do
{
history[0] = history[1];
history[1] = history[2];
history[2] = current;
if (current.IsEven)
current /= 2;
else
current = current * 3 + 1;
} while (current != history[0]);
return (int)history.Min();
}
আরএনজি গালাগালি করছে ...
Random.new(56417).rand(10000)
0 এবং 10000 এর মধ্যে একটি "এলোমেলো" সংখ্যা উত্পন্ন করে এবং যেহেতু আমি সঠিক বীজটি বেছে নিয়েছিলাম ঠিক তেমনই এটি 1 হয়))
আমি নম্বরটি খুঁজে পেতে স্ক্রিপ্ট:
irb(main):001:0> (1..100000).select{|x|Random.new(x).rand(10000) == 1}
=> [14033, 25845, 35101, 36955, 45334, 56417, 87438, 87460, 99178, 99451]
এটা কি যথেষ্ট সহজ?
(+!~~{})
একটি ক্লাসিক:
TRUE + 0
+
একটি সাধারণ প্রকারের সাথে তার যুক্তি জোর করার চেষ্টা করে: এখানে, অগ্রাধিকারের ক্রমের কারণে এটি পূর্ণসংখ্যার দিকে জোর করে। TRUE
একটি পূর্ণসংখ্যার উপর জোর দেওয়া 1 দেয়।
+TRUE
কাজ করবে না?
+TRUE
হয় TRUE
।
FALSE + 1
, আমি কি সঠিক?
এমনকি এটি এর পরামিতিগুলিতে ডকুমেন্টেশন অন্তর্ভুক্ত করে।
int
return_1
(x) int
x;{
/*x
can
be:
any
val
ue.
***/ return
!x?1:x /x;}
one = lambda zero = 0o11: zero > 1 and all(one(zero-1) for l in '1111111111') and 1 or one and zero or one()
one()
1 এর চূড়ান্ত মান ফেরত দেওয়ার আগে 111,111,111 বার নিজেকে কল করবে প্রতিবার 1, একবার।
আপনি অঙ্কের সংখ্যাও নির্দিষ্ট করতে পারেন। উদাহরণ স্বরূপ,one(3)
কেবল 111 বার 1 ফেরত আসবে।
আমি পরে একটি ব্যাখ্যা যোগ করতে পারি, তবে এই মুহূর্তে আমার সত্যিই সময় নেই।
NA ^ 0
ক্ষমতায় যেকোনো সংখ্যক 0
হয় 1
।