C 平方数 SDUT


Description

飞飞特别喜欢平方数,可是他数学并不好,你能帮他计算n与m之间所有平方数之和吗?
提示:若一个整数的开方还是整数,它就是平方数。例如:4、9、16、25是平方数。


Input

第一行 T 代表数据的组数。

接下来有 T 行,每行两个整数n,m (0 <= n, m <= 100000000)


Output

输出一个整数,代表所求区间内平方数之和。


Sample
Input

3
1 4
3 10
17 20


Output

5
13
0


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,a,n,m;
    int temp,sum=0;
    int T;
    scanf("%d",&T);
    for(i=1; i<=T; i++)
    {
        scanf("%d%d",&n,&m);
        if(n>m)//判断n和m的大小以便下面操作,否则下面还要分两种情况;
        {
            temp=m;
            m=n;
            n=temp;
        }
        sum=0;
        for(j=n; j<=m; j++)
        {
            a=sqrt(j);//开方函数;
            if(a*a==j)//核心语句;
                sum=sum+j;

        }
        printf("%d\n",sum);
    }

    return 0;
}
发布了136 篇原创文章 · 获赞 95 · 访问量 2316

猜你喜欢

转载自blog.csdn.net/zhangzhaolin12/article/details/103964601