完全なプログラムを書いて、数値のバイナリ表現が回文であるかどうかを調べますか?
Sample Input
5
Sample Output
YES
印刷YES
バイナリ表現が回文とあればNO
そうでありません。
完全なプログラムを書いて、数値のバイナリ表現が回文であるかどうかを調べますか?
Sample Input
5
Sample Output
YES
印刷YES
バイナリ表現が回文とあればNO
そうでありません。
回答:
n=bin(input())[2:]
print'YNEOS'[n!=n[::-1]::2]
[n!=n[::-1]::2]
するの?
alert((a=(prompt()*1).toString(2))-a.split("").reverse().join("")?"NO":"YES")
詳しくは
prompt()*1
:文字列を数値に変換するクイックトリック。
.toString(2)
:それがjavascriptでバイナリに変換する方法です。
a.split("").reverse().join("")
:文字列を逆にするネイティブサポートがないため、文字列を配列に、配列を文字列に変換する必要があります。
("[part1]" - "[part 2]")?"YES":"NO"
:1文字を節約するための-
代替です!=
。
$_=sprintf'%b',shift;
print reverse==$_?YES:NO
‘NO…Ü‘#EbÂQè
:)。
bin()
存在することも知りませんでした
文字列の反転なし:
print f(split//,sprintf'%b',shift);
sub f{@_<=1?YES:shift!=pop()?NO:f(@_)}
これは2 ^ 32までのすべての回文を構築します。
sub f{
my($x,$l)=@_;
$l+=2,f(($x<<$_)+1+(1<<$l-1),$l)?return 1:0 for 1..15-$l/2;
$x-$ARGV[0]?0:1
}
print f(0,1)+f(0,0)+f(1,1)?YES:NO
13 : ';(]-:|.)#:y{''YES'';''NO'''
文字列をまったく使わずにそれをやりたかった。
反復ソリューション、78バイト
for($x=log($n=$argv[1],2);$i<$x&($n>>$i^$n>>$x-$i^1);$i++);echo$i<$x/2?NO:YES;
再帰的ソリューション、113バイト
function p($n,$x=0){return$n<2?$n:is_pal(($n&(1<<$x=log($n,2)/2)-1)^$n>>$x+!is_int($x));}echo p($argv[1])?YES:NO;
もしn
バイナリ回文、上半分XOR下半分は、また、その逆バイナリパリンドロームと副です。
for($x=2*$v=$argv[1];$x/=2;$r=$r*2|$x&1);echo$r-$v?NO:YES;
バイナリリバース。コロンブスの卵。
BṚ⁼Bị“YES“NO
説明:
BṚ⁼Bị“YES“NO Main link. Arguments: z.
B Binary representation of z.
Ṛ Reversed.
B Binary representation of z.
⁼ Check if x is equal to y.
“YES“NO [['Y', 'E', 'S'], ['N', 'O']]
ị xth element of y (1-indexed).
印刷する前に、Pythonのstr
関数はリストを介してマッピングされ、要素が連結されるため、YES
またはが表示されますNO
。
Java、97 85文字
return Integer.toBinaryString(i).equals(new StringBuffer(s).reverse()+"")?"YES":"NO";
文字列s = Integer.toBinaryString(i); return s.equals(new StringBuffer(s).reverse()+ "")? "YES": "NO";