2016-12-17 10 views
0

Javaの非負整数の先行ゼロなしの小数点表現は何か混乱していますか? 私は1213(整数値)が1213(先行ゼロのない10進数)として答えられた例を読んでいます。Javaの整数の先行ゼロなしの小数点表現

誰でも教えていただけますか?

答えて

0

数字は0〜9の10進数、つまり10進数です。先行ゼロはありません。

それは

00000101001010101 

ように見えるかもしれない先行ゼロを持つ16ビットバイナリであった場合(先行ゼロを含まない)、その10進表現から得ることができるならば、二つの数N、Mは類似しています数字を並べ替えることでお互いに繋がります。ここでN = 210の場合、M = 012

簡単な解決策は、数字をソートして比較することです。 O(N ln N)

さらに進んだ解決方法は、桁数を数え、そのO(N)を比較することです。 Java 8では1-3行のコードでこれを行うことができます。

問題は、M = 210

は異なる問題だNのすべての可能な値を見つけることです。すべての組み合わせを生成する必要があります。先行ゼロを持つことができない場合は、ゼロから始まるすべての解をスキップします。

+0

10進数値は常に負でない整数の値と同じですか? – Ayush

+0

@Aushush小数は負の値をとることができます。 -1は負で小数です。 –

1

"普通の人"が整数を書き留める方法です。

10進数は、整数表現が10進数を使用することを意味します。つまり、0から9までの数字です(8進数の8進数とは異なり、0〜 7.) "positional notation"を読んでください。あなたがその概念に慣れていないなら。先行ゼロなし

は、あなたが例えば0以外の任意の番号の前に無意味な0数字を入れていないことを意味し、あなたが42、ない042と確かにない00042を書きます。 「普通の人」は時々、(29.02.のように)日付を書くときに数字を整列させるために先行ゼロを使いますが(01:07のように)、それほど普通ではありません。 「コンピュータの人々」は、数字の並び順をアルファベット順に並べ替えることで、数字の並べ替えと同じ順番になるため、同じ数字になるまで数字の先頭にゼロを付けることがよくあります。

ノンネガティブは、練習では負の数値を処理するとは限りません。それは要件ではありません。あなたが作ることが許されている単なる単純化。

+0

ありがとう。私の問題が言っていることを教えてください。2桁の数字N、Mは数字を並べ替えることによって、10進表現(先行ゼロなし)を互いに得ることができる場合に似ています。したがって、N = 210の場合、M = 012とすることができますか? – Ayush

+0

@Ayushあなたは何を問題にしていますか、何を試しましたか? –

+0

問題はNの可能なすべての値を見つけることです。ここでM = 210です。では、ここにも「012」を含める必要がありますか? – Ayush

関連する問題