JG-OJ记录105:13:完全平方数-3

it2025-12-08  10

描述

数学上,若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。

计算a到b之间所有完全平方数的和。

输入

一个正整数n,表示案例的数量。

每组案例由2个整数a和b组成。(-900000000<=a<=b<=900000000)

输出

针对每组案例,输出一个长整数(long long int),表示a到b之间(包含a和b)所有完全平方数的和。

每组案例输出完都要换行。

样例输入 复制样例

2

4 10

-1 5

样例输出

13

5

HINT

第一组样例中,4到10之间的完全平方数有4、9,总和是13。

第二组样例中,-1到5之间的完全平方数有0、1、4,总和是5。

解:

#include<iostream> #include<cmath> using namespace std; int main() { long long int n,a,b,sum; cin>>n; for(int i=1;i<=n;i++) { sum=0; long long int x,y; cin>>a>>b; x=sqrt(a); y=sqrt(b); if((a<=0)&&(b<=0)) { cout<<"0"<<endl; } else { if(a<=0) { for(int j=0;j<=y;j++) { sum=sum+j*j; } } else { if(x*x!=a) { for(int j=x+1;j<=y;j++) { sum=sum+j*j; } } else { for(int j=x;j<=y;j++) { sum=sum+j*j; } } } cout<<sum<<endl; } } return 0; }

 

最新回复(0)