C言語のパーフェクトキューブ

完全 3 次方程式: a 3 = b 3 + c 3 + d 3 a^3=b^3+ c^3 +d^3ある3=b3+c3+d3 は、1 2 3 = 6 3 + 8 3 + 1 0 3 12^3=6^3+ 8^3 +10^3 などの完全 3 次方程式です1 23=63+83+1 0
任意の正の整数 N (N<=100) について、1 から N までの 4 つのタプル (a、b、c、d) をすべて見つけるプログラムを作成します。このうち、1<a,b,c,d<=N です。b、c、dは小さいものから大きいものへと配置されています。

#include<stdio.h>
#include<math.h>
int main()
{
    
    
	int a,b,c,d;
	int n;
	printf("请输入一个正整数(<100):");
	scanf("%d",&n);
	printf("1--%d完美立方等式有:\n",n);
	for(a=2;a<=n;a++){
    
    
		for(b=2;b<a;b++){
    
    
			for(c=b;c<a;c++){
    
    
				for(d=c;d<a;d++){
    
    
                    //pow返回是浮点型有误差,直接判断会导致不等,所以要四舍五入取整
					if(round(pow(a,3))==round(pow(b,3)+pow(c,3)+pow(d,3)))
                    {
    
    
						printf("[%d, %d, %d, %d]\n",a,b,c,d);
					}
				}
			}
		}
	}
}

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_42145554/article/details/127716433