生物芯片
题目
生物芯片
题目分析
·1.下面是亮灯规律,剩下的以此类推:我们可以看到,不亮灯的都是n的平方
2.所以亮灯的数目=该区间内所有灯的数量-不亮灯的数目(简而言之,所有不亮灯的号码开方后都是整数)
代码
#include <iostream> #include <cmath> using namespace std;int main() {long long int n, l, r;cin >> n >> l >> r;long long int count = r - l + 1;//区域内所有灯的数目long long int ll = sqrt(l), rr = sqrt(r);//求出区间两端的开方后的数if (ll * ll != l || ll == 1)//如果L不是完全平方数或者L是1{count -= rr - ll;}else// 如果l是完全平方数,那么不应该包括l本身,所以从l的下一个完全平方数开始计数{count -= rr - ll - 1;}// 输出在区间[l, r]内,不是完全平方数但能被完全平方数(除了1)整除的数的数量 cout << count;return 0; }