生物芯片
题目
题目分析
·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; }
标签:平方,亮灯,int,ll,long,蓝桥,生物芯片,例题 From: https://www.cnblogs.com/hcrzhi/p/18427830