1

学校が始まって、コーディングに少し慣れてきたので、教授のところに行きました。彼によると、私は近くにいて、さらに近づいていると思いますが、行き詰まっています。

この課題は主に、Linux で「Vi」を使用する方法を理解するためのものであり、Vi でコーディングできるように、小さなコーディング課題も伴います。

これが私たちがする必要があることです。ユーザーに正の数を尋ねます。正の数が与えられたら、与えられた数までの数に可能なすべてのピタゴラスのトリプルを決定する必要があります。

これまでのところ、これは私が持っているものです...

#include <stdio.h>

int main(void)
{

    int x = 0, y = 0, z = 0, n;
    int count = 0;

    printf("Please Enter A Positive Integer: \n");
    scanf("%d", &n);

    while (z <= n)
    {
        while (y < z)
        {
            while (x < y)
            {
                if (x * x + y * y == z * z)
                {
                    printf("%d: \t%d %d %d\n", ++count, x, y, z);
                }
                x += 1;
            }
            y += 1;
        }
        z += 1;
    }

5以上を入力すると、正しいトリプル「3 4 5」が得られます

Please Enter A Positive Integer: 25
1:  3 4 5

しかし、どれだけ上に行っても、ヒントが得られるのはこれだけですか?

4

3 に答える 3

1

少しデバッグを行います。ピタゴラスのテストに else 句を追加して、実際にテストしている値を確認します。

if (x * x + y * y == z *  {
    printf("%d: \t%d %d %d\n", ++count, x, y, z);
} else {
    printf("NOT PYTH: %d: \t%d %d %d\n", ++count, x, y, z);
}

これはあなたの問題につながります。

于 2013-09-10T20:32:00.900 に答える