算法:不使用乘除求数的平方

算法

不使用乘法和除法,求一个数的平方

解法 1:

a^2 = a * a, 相当于a个a相加

int findSquare(int a){
    a = abs(a);
   int sqr = a;
    for (int i = 0; i<a-1; i++) {
        sqr = sqr + a;
    }
    return sqr;
}

解法 2:

1^2 = 1;
2^2 = 1 + 3 = 4;
3^2 = 1 + 3 + 5 = 9;
4^2 = 1 + 3 + 5 + 7 = 16;
不知道各位发现规律了没有,数m的平方等于m个奇数相加

int findSquare2(int a){
    a = abs(a);
   int b = 1;
   int sqr = 0;
    for (int i = 0; i<a; i++) {
        sqr = sqr + b;
        b = b + 2;
    }
    return sqr;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容