返回

#yyds干货盘点# 名企真题专题:怪数

发布时间:2023-07-20 15:13:24 281
# java# java

1.简述:

描述

小M突然对怪数产生了兴趣。假设一个数n,如果[n/1]+[n/2]+...+[n/k](k为趋近于正无穷的正整数)为一个偶数,那么这个数是一个怪数,现在给定一个区间[a,b],求[a,b]之间有多少怪数。

[x]表示不大于x的最大整数。

输入描述:

输入只包含一行,有两个非负整数a,b(0<=a,b<=2^31,a<=b)。

输出描述:

输出区间[a,b]中的怪数的个数。

示例1

输入:

0 10

输出:

6

2.代码实现:


import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String a1 = sc.next();
String b1 = sc.next();
Long a = Long.parseLong(a1);
Long b = Long.parseLong(b1);
int num=0;
int start = 0;
while(Math.pow(start, 2) start++; //找到a是第几个数的平方
while(Math.pow(start,2)<=b){
if(start%2==0){
a=(long)Math.pow(start,2);//a就是start的平方这个怪数
start++;//接着找其他的
}else{
num+=Math.pow(start, 2)-a;
a=(long)Math.pow(start, 2);//记住a的位置,为了找不完整的怪数
start++;//接着往下找
}
}
//找完完整的后,加上不完整的,也就是最后一段
if(start%2!=0)
num+=b-a+1;
System.out.print(num);



}
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线