gpt4 book ai didi

考虑 x^i+y^i=z^i x<=y<=z<=m 和 2<=i<=n (m 和 n 是输入) m 可以在 5 到 100 之间变化 n 可以在 2 到 100 之间变化

转载 作者:行者123 更新时间:2023-11-30 20:13:01 25 4
gpt4 key购买 nike

考虑x^i+y^i=z^i , x<=y<=z<=m2<=i<=n
(m 和 n 是输入)
m 的范围为 5 到 100
n 可以在 2 到 100 之间变化

我该如何解决这个问题?我有一个解决方案,但对于像 80 或更大这样的 n 和 m 值来说这是不可行的,并且开始给出错误的结果:(

int main()
{
int m, n;
long long int x, y, z, j;
long long int xe, ye, ze, se;
long long int sum = 0;
scanf("%d", &m);
scanf("%d", &n);

for (j = 2; j <= n; j++)
{
for (x = 0; x <= m; x++)
{
for (y = x; y <= m; y++)
{
for (z = y; z <= m; z++)
{
xe = pow(x, j);
ye = pow(y, j);
ze = pow(z, j);
se = (xe + ye);
if (ze == se)
{
printf("\n i = %lld", j);
sum++;
}
}
}
}
}
printf("sum= %lld ", sum);
return 0;
}

最佳答案

您需要在 C 中实现大整数,因为您的预测结果可能会高于普通整数,甚至 long long int 也能够存储。您可以自己编写一个或使用已经编写的一个,例如 here .

关于考虑 x^i+y^i=z^i x<=y<=z<=m 和 2<=i<=n (m 和 n 是输入) m 可以在 5 到 100 之间变化 n 可以在 2 到 100 之间变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33074676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com