生物芯片

X博士正在研究一种生物芯片,其逻辑密集度、容量都远远高于普通的半导体芯片。

博士在芯片中设计了 n 个微型光源,每个光源操作一次就会改变其状态,即:点亮转为关闭,或关闭转为点亮。

这些光源的编号从 1 到 n,开始的时候所有光源都是关闭的。

博士计划在芯片上执行如下动作:

所有编号为2的倍数的光源操作一次,也就是把 2 4 6 8 … 等序号光源打开

所有编号为3的倍数的光源操作一次, 也就是对 3 6 9 … 等序号光源操作,注意此时6号光源又关闭了。

所有编号为4的倍数的光源操作一次。

直到编号为 n 的倍数的光源操作一次。

X博士想知道:经过这些操作后,某个区间中的哪些光源是点亮的。

【输入格式】

3个用空格分开的整数:N L R (L<R<N<10^15) N表示光源数,L表示区间的左边界,R表示区间的右边界。

【输出格式】

输出1个整数,表示经过所有操作后,[L,R] 区间中有多少个光源是点亮的。

例如:

输入:

5 2 3

程序应该输出:

2

再例如:

输入:

10 3 6

程序应该输出:

3

资源约定:

峰值内存消耗 < 256M

CPU消耗 < 1000ms

请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。

注意: main函数需要返回0

注意: 只使用ANSI C/ANSI C++ 标准,不要调用依赖于编译环境或操作系统的特殊函数。

注意: 所有依赖的函数必须明确地在源文件中 #include , 不能通过工程设置而省略常用头文件。

提交时,注意选择所期望的编译器类型。

import java.util.*;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long n = in.nextLong();
long l = in.nextLong();
long r = in.nextLong(); long a = (long)Math.sqrt(l);
if(a * a != l) {
a += 1;
}
long b = (long)Math.sqrt(r); long num = b - a + 1;
long num2 = r - l + 1;
System.out.println(num2 - num);
in.close();
}
}
import java.util.Scanner;

public class Main {

    public long getP(long X) {
long count = 1;
for(long i = 2;i <= X / 2;i++) {
if(X % i == 0)
count++;
}
return count;
} public void getResult(long N, long L, long R) {
long result = 0;
for(long i = L;i <= R;i++) {
long count = getP(i);
if((count&1) == 1)
result++;
}
System.out.println(result);
} //完全平方数的因子数为奇数个,其中因子包含1
public void getResult1(long N, long L, long R) {
long result = R - L + 1;
long start = (long) Math.sqrt(L);
if(start * start < L)
start = start + 1;
for(;start * start <= R;start++) {
if(start * start >= L && start * start <= R)
result--;
}
System.out.println("借鉴网友解法:"+result);
} public static void main(String[] args) {
Main test = new Main();
Scanner in = new Scanner(System.in);
long N = in.nextLong();
long L = in.nextLong();
long R = in.nextLong();
test.getResult(N, L, R);
test.getResult1(N, L, R);
} }

java实现第五届蓝桥杯生物芯片的更多相关文章

  1. java实现第五届蓝桥杯殖民地

    殖民地 带着殖民扩张的野心,Pear和他的星际舰队登上X星球的某平原.为了评估这块土地的潜在价值,Pear把它划分成了M*N格,每个格子上用一个整数(可正可负)表示它的价值. Pear要做的事很简单- ...

  2. java实现第五届蓝桥杯LOG大侠

    LOG大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力- 变换的规则是: 对其某个 ...

  3. java实现第五届蓝桥杯供水设施

    供水设施 X星球的居民点很多.Pear决定修建一个浩大的水利工程,以解决他管辖的N个居民点的供水问题.现在一共有N个水塔,同时也有N个居民点,居民点在北侧从1号到N号自西向东排成一排:水塔在南侧也从1 ...

  4. java实现第五届蓝桥杯排列序数

    排列序数 如果用a b c d这4个字母组成一个串,有4!=24种,如果把它们排个序,每个串都对应一个序号: abcd 0 abdc 1 acbd 2 acdb 3 adbc 4 adcb 5 bac ...

  5. java实现第五届蓝桥杯幂一矩阵

    幂一矩阵 天才少年的邻居 atm 最近学习了线性代数相关的理论,他对"矩阵"这个概念特别感兴趣.矩阵中有个概念叫做幂零矩阵.对于一个方阵 M ,如果存在一个正整数 k 满足 M^k ...

  6. java实现第五届蓝桥杯斐波那契

    斐波那契 标题:斐波那契 斐波那契数列大家都非常熟悉.它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 ...

  7. java实现第五届蓝桥杯神奇算式

    神奇算式 题目描述 由4个不同的数字,组成的一个乘法算式,它们的乘积仍然由这4个数字组成. 比如: 210 x 6 = 1260 8 x 473 = 3784 27 x 81 = 2187 都符合要求 ...

  8. java实现第五届蓝桥杯扑克序列

    扑克序列 AA223344,一共4对扑克牌.请你把它们排成一行. 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌. 4A3A2432, 2342A3A4 请填写出 ...

  9. java实现第五届蓝桥杯切面条

    切面条 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次,中间切一刀,会得到多少面条 ...

随机推荐

  1. Mybatis极速入门

    搭建mybatis的环境 导入相关jar包 mybatis-3.5.3.jar commons-logging-1.1.1.jar log4j-1.2.16.jar cglib-2.2.2.jar a ...

  2. mybatis中 #{} 和 ${}

    在mybatis中#{}表示一个占位符: 1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号 2.#在很大程度上可以防止sql注入 3.例如#{id}:#{}中的id表示输入的参数名称 ...

  3. Spring全家桶之spring boot(三)

    spring boot集成mybatis 众所周知,spring与springmvc可以无缝集成,而mybatis不是spring旗下的框架,因此需要进行配置,当然,这里的配置也是非常简单的. 1.首 ...

  4. docker 容器核心技术

    容器的数据卷(volume)也是占用磁盘空间,可以通过以下命令删除失效的volume: [root@localhost]# sudo docker volume rm $(docker volume ...

  5. windows假死原因调查

    0. 现象 windows假死了,键盘功能正常,就是画面卡住不动了. 1. 看log linux下面很容易通过命令dmesg和/var/log/message来看日志. 但是windows就懵逼了,不 ...

  6. 【比较】遗传算法GA和遗传编程GP有什么不同?

    遗传算法GA 本质上有一个固定的长度,这意味着所产生的功能有限的复杂性 通常会产生无效状态,因此需要以非破坏性方式处理这些状态 通常依赖于运算符优先级(例如,在我们的例子中,乘法发生在减法之前),这可 ...

  7. MySQL常见面试题索引、表设计

    正确使用索引的条件 1.建立索引的列的重复度不能太高 2.条件列不能参与计算 3.不能使用函数 4.条件中不能使用范围 5.不要使用like '%c' 6.条件中用or a=0 or b=1 or c ...

  8. Django模板之模板变量

    深度查询句点符(.)在模板语言中有特殊的含义. 当模版系统遇到点("."),它将以这样的顺序查询: 字典查询(Dictionary lookup) 属性或方法查询(Attribut ...

  9. MVC4.0接口学习

    /// <summary> /// 正则验证身份证号是否合法 /// </summary> /// <param name="sIdCard"> ...

  10. CF834D

    题目链接:http://codeforces.com/contest/834/problem/D 题目大意:将一个有n个数的数列分成k段,每段的价值为该段中不同数字的个数,求k段的最大总价值. 解题思 ...