+ CZ = G題名斧+は、問題を解決します
非常に馴染みの+ CZ = Gこの方程式の組によって斧+上の誰もが、彼は、我々は彼の出力`正の整数の解決を達成するためにC言語を使用して、今日三項式で
書かれたコード初見の巣を:
#include<stdio.h>
int main()
{
int a,b,c,G,x,y,z;
printf("请依次输入a b c G的值,两个相邻的数值用一个空格隔开\n");
scanf("%d %d %d %d",&a,&b,&c,&G);
if(G>=3)
{
for(x=1;x<G-1;x++)
{
for(y=1;y<G-1;y++)
{
for(z=1;z<G-1;z++)
{
if(a*x+b*y+c*z==G)
{
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
}
}
}
else
{
printf("该方程没有满足条件的解\n");
}
return 0;
}
問題のコンピュータのソリューションは、シンプルで、粗滴であると言うことができる、彼は私たちが答えを知りたい答えのトピックを、計算するためにいくつかのテクニックを使用しないもののように、それはすべての可能な結果はそれらすべてを試してみることが不可欠であることはできませんが、木材ああの方法があります、人々の計算速度は、私たちが本当にああないと満足していることを、より速くよりです。
そう,,,私たちは、その後、数1である最小の正の整数ことを、我々はX、Y、Zの値をとることができ、すべての正の整数が再度取られている必要がありますが、私たちが知っている、方程式のすべての正の整数ソリューションを主張しますあなたは、値の最小の数は最大でどのくらいであることを、1である3つに取ることができますか?等号の方程式「G」、それの権利はありますか?あなたがGの数を取らなければならない場合はまあ、デフォルトで他の2つの引数は正の整数の要件を満たしていない0、であるので、最大数に3を取ることができないG-です1-1、すなわちG-2(Gマイナス2)
そこで、我々は、最も一般的にループするために使用さが彼らのために配置することができます。。。。どのように言うこと?X、Y、Z 3つの引数はG-1へ1から取られているようにすることです、すべての可能な値を超える行くと、方程式を満たすためにどのような値を参照。ここで、x、y、zの、およびこれら三つのネストの使用OKスパイシー上のforループ!!
G自体は、以下3以上であれば当然のことながら、我々は、YをX、Zは、いずれの場合にもそう満足される式のいかなる適切な解決策が存在しない、正の整数式の確立を可能にするために取られます。。。
まあ、のペアをいえば上の問題ヘッドは、彼らはまた、大物ポインタをたくさんしたいです。
最後に、私はあなたに耳を傾けるために非常に重要な秘密を言う:
私は実際にしています。。。。。。で。。。。ライン。。。ハンブルシーク賞賛、あなたを愛しああ