当前位置:首页 > 题解目录 > 正文内容

【题解】区间和

亿万年的星光4年前 (2021-05-02)题解目录1603

【描述】

输入一个整数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;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

【题解—深搜】马走日

【题解—深搜】马走日

【题目描述】马在中国象棋以日字形规则移动。请编写一段程序,给定n×m大小的棋盘,以及马的初始位置(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。【输入】第一行为整...

【题解】幸运儿

【题目描述】n 个人围成一圈, 并依次编号1~n,从编号为1 的人开始,按顺时针方向每隔一人选出一个,当一圈结束之后,剩下的人重新围成一圈,再次从编号1的人开始,如此循环直到剩下两人,这剩下的两人就是...

【题解】最大配对

题目描述      给出2个序列A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出n个元素进行一一配对(可以不按照原来在...

【题解】合并有序表

【题目描述】k路归并问题把k个有序表合并成一个有序表。元素共有n个。【输入描述】读入K。接下来K行。每i行第一个数为Ci表示接下来这一行有Ci个数,表示第i个序列。总数小于100000。【输出描述】输...

【题解】石子合并(环形)

【题目描述】在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将 N 堆石子合并...

【题解】开关灯(2)

1.开关灯(light.cpp)【题目描述】某实验室共有n盏灯,灯的编号为1~n,每盏灯的初始状态是关闭的。现在有m位学生,每位学生可以前去抽取一张带数字的卡片,其数字为Ai,然后依次将自己手中的数字...