gpt4 book ai didi

c++ - 循环输出中的平方数

转载 作者:行者123 更新时间:2023-12-02 10:09:57 25 4
gpt4 key购买 nike

我这里有这段代码,应该输出n之前的所有平方数。例如,如果键入10,它将显示1 4 9。问题是,当我输入25时,它应该给出输出1 4 9 16 25。但是,它显示的是1 4 9 16 24

#include <iostream>
using namespace std;
#include <cmath>

int main(){
int a, b;
cin >> a;
for(int i = 1; i <= a; i++)
{
b = pow(i,2);
if (b <= a) cout << b << " ";
}
return 0;
}

最佳答案

如果仅使用整数和平方数,则解决方案不需要任何数学库,则可以通过将数字乘以自身得到平方。
如果达到第一个平方位数大于输入数字的数量而跳出循环,则可以得到更好的性能,而无需再进行计算。
示例代码:

#include <iostream>

int main()
{
int a;
std::cin >> a;
for (int b, i = 1;; ++i)
{
b = i * i;
if (b > a)
break;
std::cout << b << " ";
}
return 0;
}

关于c++ - 循环输出中的平方数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64071709/

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