在c++中使用循环代替内置数学函数的CS问题

  • 本文关键字:函数 问题 CS 内置 c++ 循环 c++
  • 更新时间 :
  • 英文 :


我有这个问题,我不明白这个程序应该做什么。

问题是:

显示1到1000之间的数对,其平方和是任意数的三次方,且其三次方的和是某数的平方。不要使用数学函数,例如……

谁能解释一下我应该做什么,以及循环如何准确地取代pow和sqrt函数?

显示1到1000之间的数对,其平方和是任意数的三次方,且其三次方的和是某数的平方。不要使用数学函数,例如……

让我们试一试。

显示1到1000之间的数字对

for(int i = 0; i <= 1000; i++)
for(int j = i; j <= 1000; j++) // starting at i to not repeat pairs twice

其平方和

for(int i = 0; i <= 1000; i++)
for(int j = i; j <= 1000; j++) // starting at i to not repeat pairs twice
{
int sumSquare = i * i + j * j;

是任意数

的三次方
for(int i = 0; i <= 1000; i++)
for(int j = i; j <= 1000; j++) // starting at i to not repeat pairs twice
{
int sumSquare = i * i + j * j;
bool found = false;
for(int k = 1; k * k * k <= sumSquare; k++) // inefficient
{
if (k * k * k == sumSquare)
{
found = true;
}
}
if (found)
{
cout << i << " " << j << " " << k << endl;
}
}

等等…您将需要添加第三个条件,您可能需要处理溢出,可能使用size_t,并使其更有效。

但这应该给你正确的想法…

最新更新