青少年编程知识记录 codecoming

【题解】区间和

【描述】

输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007

【输入】

第一行是一个整数Q

后面的Q行每行有2个数字l和r

【输出】

Q行,每行一个整数。

【样例输入输出】

light.in

light.out

2

2   10

3   100

13

384



【数据范围】

40%的数据:Q<=1000,l<=r<=1000。

80%的数据:Q<=1000,l<=r<=1e6。

100%的数据: Q<=1e6,l<=r<=1e6

【题目分析】
















【参考答案】

#include<bits/stdc++.h>  using namespace std;  int main() {  	int Q;  	long long int l, r, sum;//输入左边界右边界,防止int 不够  	int ans;  	cin>>Q;  	for(int i=0; i<Q; i++) {  		cin>>l>>r;//平方数所在范围  		sum = 0;//每次都得初始化  		long long  temp;  		for (int i = l; i <= r; i++) { //判断平方数  			temp = sqrt(i);  			if (temp * temp == i)  				sum += temp * temp;  		}  		ans = sum%1000000007;  		cout<<ans<<endl;  	}  	return 0;  }



(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: