-1

私は現在、入門 CS の最終試験に向けて勉強していますが、いくつかの問題があり、非常に苦労しています。私が最も心配しているのは、Java でコードを作成して、次の出力を画面に作成するように私に依頼することです。

+

+++0

++++++00

++++++++++000

... (このパターンが 200 行続く)

これは非常に基本的な質問のように思えるかもしれませんが、どうすればこれを行うことができますか? いくつかの配列を記述し、for ループを使用して配列を調べて画面に出力する必要があることはわかっていますが、この問題を解決する方法についてのガイダンスと、他の同類の問題を教えていただければ幸いです。ありがとう!

4

4 に答える 4

0

数のパターン0は単純な算術シーケンスです。枚数+は以下の通りです。

Row 1:  1
Row 2:  3 = 1 + 2
Row 3:  6 = 3 + 3
Row 4: 10 = 6 + 4

これらは三角数であることがわかります。したがって、ループ内の各行の三角数を計算し、その回数を出力するネストされたループを+作成してから、必要な の数を出力し0ます。

于 2012-11-17T02:48:05.133 に答える
0

これは-1に値しないと思います。初心者の質問は悪い質問と同じではありません。

質問自体については。最初にパターンを慎重に識別し、それを平易な英語で表現する必要があります。パターンは非常に単純です。

1 クロスと 0 ゼロから始めます。反復ごとに、十字の成長を 1 ずつ増やします (つまり、+1、+2、+3... です)。2 単位の成長から始めて、0 の成長を 1 単位から 1 ずつ増やします。

これを疑似コードに入れてコーディングします。最初にパターンを理解してください。私はこれを十分に強調することはできません。コーディングを始めても役に立ちません。

于 2012-11-17T02:48:52.807 に答える
0

最初にパターンを認識できる必要があり、次にそれをコーディングできる必要があります。

この問題の 2 つの「ステップ」を混ぜ合わせているのではないかと思いますので、具体的に分けてみましょう。

The (parenthesis) items are the _additional_ elements.

index 0 : +
index 1 : +(++)(0)
index 2 : +++(+++)0(0)
index 3 : ++++++(++++)00(0)

したがって、パターンは次のように記述できると推測できます。

the previous number of +'s (and index + 1 more), 
followed by the previous number of 0's (and one more).

と組み合わせ

index 0 is "+"

この「ルール」からインデックス 4、5、および 6 を計算し、それがパターンを正しく説明しているように見えるかどうかを確認することができます。

パターンができたので、実際に必要なのは+符号の数と0s の数の 2 つの変数だけです。前のものから「次」のものを計算できます。コーディングはそれほど難しくないはずですが、難しい場合は、プログラムとそのプログラムに関する「新しい」問題を別の質問に投稿してください。

于 2012-11-17T02:49:11.027 に答える
0
public class Answer {
    public static void main(String[] args) {
        int plusCount = 1;
        for(int i=0; i<200; i++) {
            for(int j=0; j<plusCount; j++) {
                System.out.write('+');
            }
            plusCount += i+2;
            for(int j=0; j<i; j++) {
                System.out.write('0');
            }
            System.out.println();
        }
    }
}
于 2012-11-17T02:51:32.190 に答える