タスク
1を返す関数/サブルーチンを作成します。1を返す限り、好きなように複雑にすることができます。
ルール
人気のあるコンテストのように、最も投票数の多いエントリーが勝ちます。がんばろう!
:)
タスク
1を返す関数/サブルーチンを作成します。1を返す限り、好きなように複雑にすることができます。
ルール
人気のあるコンテストのように、最も投票数の多いエントリーが勝ちます。がんばろう!
:)
回答:
ゴルフスクリプト
1
このコードを最も純粋に最適化するのに長い時間がかかりました。あえて言うなら、美しい形です。このような言語の優雅さは、長年の熱心な実践なしには得られません。Zero-Instruction-Set-Computerがなければ、文字通りこれ以上圧縮できないプログラム。私のコードゴルフのキャリア全体がこの瞬間につながっています。
私は暇だ。私は生きています。
宇宙の根底にあるコードが見えます。
without a Zero-Instruction-Set-Computer can literally never be compressed any further
。現在のコンピューターは、0個の指示プログラムを簡単に処理できます。あなたが持っている言語必要があるすべて:その明細書では「空のリターン1」
「強いリターン」(return!
)や「アプローチ」演算子(-->
)などのあいまいな言語機能を使用した2つの例:
int foo(void) {
return! 0;
}
int bar(void) {
int i=7;
while (i --> 0);
return-i;
}
return-i
キーワード:P
one ← {⍴⍴⍴⍵}
⍴
ベクトルの次元を提供します。次元は常に1次元であるので、の次元は常に1です。または:
「Rho、rho、Xのrhoは
常に1に等しく、
Rhoは次元です。rhorho、ランク
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
をaに?
、すべて#
をaにr
、n
に.
、およびに変更;
し@
ます。ただし、このプログラムは、同等のBefungeよりも見た目が優れています。ここに示す翻訳:ideone.com/ZyuSKk
?
をaにx
、すべて#
をaに変更することで> <>に直接変換できることを想像します!
(同じままにすると正常に機能するはずです)および(もちろん).
to n
および@
to ;
です。ideone.com/gfApjT
expr 0
これは 0を出力しますが、1を返します。これは、他の言語に慣れているプログラマにとっては驚きかもしれません。を実行すると、印刷出力をオフにし、リターンコードを表示できますexpr 0 >/dev/null; echo $?
。
$(pidof progname) < 1
これは、私のお気に入りのJava固有の質問の1つです。
public static int ret1() {
try {
return 0;
} finally {
return 1;
}
}
try
ブロックで即座に戻ろうとすると起動finally
しますreturn
。
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)
これは、定義1真One
。これがOne
示すタイプの両方であるワンネスを、コンストラクタOne
引数なし返す関数自体は、1真、およびタイプの唯一の値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
完全なBook of 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
-"""
int getRandomNumber()
{
return 4; //chosen by fair dice roll.
//guaranteed to be random.
}
""".indexOf(4)
4を含まない
整数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は言います:
lengthプロパティの値は、関数が期待する引数の「典型的な」数を示す整数です。ただし、この言語では、他のいくつかの引数を使用して関数を呼び出すことができます。
…そしてNumber
コンストラクタの引数の典型的な数は1なので、length
of Number
は1
です。したがって、Javascriptの数値の長さは1であると言えます。
sub one{ $a[@a{@a[%a=map{@$a[@a{$a++=>$a}]+++$#$a+$a=>$a}$a]++}+$a] }
大きく開いて言うaaaaa
。
創造的なコンセプトは、まだ望ましい結果を返す、とだけ「1」の変数を使用している間(、深くできるだけ...括弧内の括弧内の巣の中括弧にした$a
、@a
、%a
、@$a
そして$#$a
もちろん、すべての異なる変数です)。
これにより環境が大幅に変更されますが、1
後続の呼び出しでは常に戻ります。実行内容を把握するには、次のコードを実行することを検討してください。
use Data::Dump qw(dump);
for (1..8) {
one();
dump(@a);
dump(%a);
dump(@$a);
}
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(){}
}
Splitterに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」を返します
編集-文字列/整数/などのリテラルを使用しないように変更。
C#
ハードウェアアーキテクチャに依存する必要があります。
return IntPtr.Size / (Environment.Is64BitOperatingSystem ? 8 : 4);
うわー!
この(物議を醸す)1つを隣接する(物議を醸す)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();
}
パラメータに関するドキュメントも含まれています。
int
return_1
(x) int
x;{
/*x
can
be:
any
val
ue.
***/ return
!x?1:x /x;}
NA ^ 0
の任意の数0
は1
です。