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

时间:2015-05-25 11:00:31

标签: c algorithm numbers square-root

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

3 个答案:

答案 0 :(得分:8)

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

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

打印所有这些数字也是不可能的,因为您尝试打印的设置是无限的,除非您希望您的程序无休止地工作(当然它无法正常工作)或者,因为你将进入整数溢出点。

答案 1 :(得分:4)

从1到N循环并对数字进行平方?假设N是平方根的上限。

答案 2 :(得分:3)

首先,您无法显示 所有 数字,因为这是一个无限集。

如果您只想显示一组有限的数字( X 长度),只需从0循环到(X - 1)并打印i * i。

for(int i = 0; i < X; i++)
   printf("%d\n", i*i);