平方根为整数的数字,没有数学库

0 c algorithm numbers square-root

我正在努力解决这个问题,我需要找到并在控制台中显示所有数字,其平方根是一个整数,而不使用数学库.它在C中,所以我不能使用math.h而且我认为我实际上不需要像巴比伦塔这样的算法,或者我需要一个算法?

dmn*_*rsk 8

可能的整数平方根为0,1,2,3,4等.因此,您所要做的就是计算每个自然数的平方并将其打印在屏幕上.

for (int i = 0; i < sth; i++) { 
    printf("%d\n", i*i);
}
Run Code Online (Sandbox Code Playgroud)

打印所有这些数字也是不可能的,因为您尝试打印的集合是无限的,除非您希望程序无休止地工作(当然它也无法正常工作,因为您将获得整数溢出点).

  • `printf("%lld",i*1LL*i);` (2认同)