1

わかりましたので、プログラムを作成しようとしています。カウンターを-3から開始して2ずつ下げる必要がありますが、他のすべての数値は正でなければなりません:例:

-3、5、-7、9、-11、13、-15、17、-19、...

入力はありますか?

成功したプログラムを作成しましたが、これはあまり効率的ではないように感じます。

    while ("expression")
    {
        if (j % 4 == -1) //checks if number should be negative
            j = Math.abs(j);

        if (j > 0) //makes counter a negative
            j = -j;

        j -= 2; //goes down by 2
    }
4

5 に答える 5

10

forループと signSwitcher 変数を 使用できます。

int signSwitcher = 1;
for (int x = -3; expression; x -= 2, signSwitcher *= -1) {
    int counter = x * signSwitcher;
}
于 2013-05-17T23:26:09.070 に答える
7

ねえ、みんな一生懸命考えすぎだよ。明白で読みやすいものの何が問題なのですか

if (counter > 0)
   counter = -1*(counter+2);
else
   counter = -1*(counter-2);
于 2013-05-17T23:41:47.613 に答える
0
int increment = 2;
while ("expression")
{
    j += increment * (Math.abs(j)) + increment;
    increment *= -1;
}

これはどうですか?

非常に簡単

于 2013-05-17T23:40:06.420 に答える