काम
एक फ़ंक्शन / सबरूटीन बनाएं, जो 1. लौटाता है। आप इसे तब तक विस्तृत कर सकते हैं जब तक आप इसे पसंद करते हैं, जब तक यह 1 देता है।
नियम
सबसे अधिक जीत के साथ प्रवेश - किसी भी लोकप्रियता प्रतियोगिता की तरह। सौभाग्य!
:)
काम
एक फ़ंक्शन / सबरूटीन बनाएं, जो 1. लौटाता है। आप इसे तब तक विस्तृत कर सकते हैं जब तक आप इसे पसंद करते हैं, जब तक यह 1 देता है।
नियम
सबसे अधिक जीत के साथ प्रवेश - किसी भी लोकप्रियता प्रतियोगिता की तरह। सौभाग्य!
:)
जवाबों:
गोल्फ स्क्रिप्ट
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 ← {⍴⍴⍴⍵}
⍴
आपको एक वेक्टर का आयाम देता है। इस बात का आयाम है, हमेशा एक आयामी है, इसलिए के आयाम है कि हमेशा से एक है। या:
"Rho, rho, X का
Rho
हमेशा एक के बराबर है,
Rho आयाम है; Rho rho, रैंक
APL मजेदार है!"
(मैंने वह कविता नहीं लिखी, यह स्टेलमैन की है।)
# @: # @: #
(रिक्त स्थान वैकल्पिक हैं)
public static int funWithOne() {
try {
try {
return funWithOne();
} finally {
return funWithOne();
}
} catch (Throwable _) {
return 1;
}
}
अंत में लौटने से पहले यह अपने आप को 2 1024 बार कॉल करेगा (यह संख्या अलग-अलग प्लेटफॉर्म पर भिन्न हो सकती है) 1
। हालांकि, अपनी सांस को रोककर न रखें; यह ब्रह्मांड की उम्र की तुलना में आसानी से अधिक समय लेगा ।
मछली
x प्रोग्राम काउंटर को यादृच्छिक दिशा में भेजता है। # एक दीवार है जिसे प्रोग्राम काउंटर "बाउंस" करता है। यह शाब्दिक रूप से तब तक इधर-उधर भटकता रहेगा जब तक कि उसे "^" न मिल जाए और फिर 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
में .
और ;
में बदल जाते हैं @
। हालांकि, यह> <> कार्यक्रम समान Befunge से बेहतर दिखता है। यहाँ दिखाया गया अनुवाद: 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
REPL में उपयोग :
λ: 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 $->$= }
(दिखावे के बावजूद, फ़ंक्शन कुछ भी प्रिंट नहीं करता है।)
मुझे पता है कि पर्ल प्रोग्रामर TMTOWTDI कहना पसंद करते हैं, लेकिन यह एक ऐसा कार्य है जिसके लिए T वास्तव में MTOWTDI है।
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 है।
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);
वाह!
इस (विवादास्पद) को पड़ोसी के साथ जोड़ना (विवादास्पद) Collatz अनुमान :
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();
}
RNG का दुरुपयोग ...
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)
केवल १११ बार वापस आएगा।
मैं बाद में स्पष्टीकरण जोड़ सकता हूं, लेकिन मेरे पास वास्तव में समय नहीं है।
NA ^ 0
की शक्ति के लिए कोई भी संख्या 0
है 1
।