私は現在Javaでプログラミングを始めています。タイトルのシーケンスを Java の出力としてコーディングしようとしましたが、行き詰まりました。for 関数を試しています。どんな助けも歓迎します ;)
7 に答える
System.out.println("1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0");
しかし、真剣に、これはテストされていない最初のパスです。
for(int i=1; i<100; i++){
System.out.print("1 ");
for(int j=0; j<i; j++){
System.out.print("0 ");
}
}
開始方法に関する基本的な情報をお探しの場合は、Google が最適です。たとえば、「for loop java」でググると、良い例がたくさん出てきます。また、どの言語でも基本的なことを学ぶには、「<language> hello world」の google 検索が非常に信頼できます。
数値 10 を変数に格納し、ループで数値を出力し、10 を掛けて (10 進表現にゼロを追加)、繰り返すことができます。
for (int i = 2; i < 64; i <<= 1)
//System.out.print(Integer.toString(i, 2));
System.out.print(Integer.toString(i, 2).replaceAll("[01]", "$0 "));
それとも先生に頼まれましたか?ネストされた 2 つの for ループでうまくいきます。
または、別の言語 (Ruby) で別の方法で:
4.times {|n| print 10**(n+1)}
これは実際には fors の問題ではなく、非常に初歩的なアルゴリズムの考え方の問題です。「1」、そして時間の経過とともに成長する別の何か、別の「1」、別の何かなどで構成されるシーケンスがあります。これらは、インターリーブされた 2 つの異なるシリーズと考えることができます。
したがって、全体的な構造は次のようになります。
while(... infinity?)
{
System.out.print("1");
doSomething();
}
これで、何かが明らかに外側のループの繰り返し (「ステージ」) の数または 1 のカウントに相関するため、次のようなものが必要になります。
int stage=0;
while(...infinity?)
{
++stage;
System.out.print("1");
for(int i=0; i<stage; ++i) System.out.print("0");
}
実行する必要があるサイクルの数がわかっている場合は、while の代わりに for ループを使用し、ステージを増やします。
for (int i = 1; i < 100000;)
{
i = i * 10;
System.out.print(i);
}
また
int i = 1;
while (i < 100000)
{
i = i * 10;
System.out.print(i);
}