博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第九届蓝桥杯Java试题4--第几个幸运数
阅读量:4170 次
发布时间:2019-05-26

本文共 802 字,大约阅读时间需要 2 分钟。

第九届蓝桥杯试题4–第几个幸运数

题目:

到x星球旅行的游客都被发给一个整数,作为游客编号。

x星的国王有个怪癖,他只喜欢数字3,5和7。
国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。

我们来看前10个幸运数字是:

3 5 7 9 15 21 25 27 35 45
因而第11个幸运数字是:49

小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。

请你帮小明计算一下,59084709587505是第几个幸运数字。

思路:

每个幸运数一定满足3^i * 5^j * 7^k ,只要找出在59084709587505之前有多少个数满足3^i * 5^j * 7^k 那么就能得出这是第几个幸运数字,所以可以用循环将小于59084709587505并满足3^i * 5^j * 7^k的数找出,可以用三个循环嵌套分别对 i , j , k 赋值,并进行判断此时结果是否符合幸运数字。

代码:

public class Demo1 {	public static void main(String[] args) {		long x;		int count=0;		x=59084709587505L;		for(int i=0;Math.pow(3, i)<=x;i++)			for(int j=0;Math.pow(5,j)<=x;j++)				for(int k=0;Math.pow(7,k)<=x;k++) {					if(Math.pow(3,i)*Math.pow(5,j)*Math.pow(7,k)<=x)						count++;				}		System.out.println(count-1);  //上一步i,j,k都为0时不符合要求,要减去1			}}

结果:

1905

转载地址:http://uzwai.baihongyu.com/

你可能感兴趣的文章
商务智能-基本方法-特征与角度
查看>>
软件项目管理系统-项目管理-模块定义-开发笔记
查看>>
工作流审批平台-业务申请-申请书一览
查看>>
商务智能-基本方法-数据钻取
查看>>
C++程序员技术需求规划(发展方向)
查看>>
如何判断变量在内存中如何放置的?低位在前还是高位在前
查看>>
c语言中通过指针将数值赋值到制定内存地址
查看>>
64位与32位linux c开发时默认字节对齐值
查看>>
malloc(malloc在32位编译系统中分配的地址会8字节对齐,64为编译系统中会8或者16字节对齐)
查看>>
初始化时共享内存的key值和信号量初始化的key值可以一样
查看>>
linux创建线程之pthread_create
查看>>
pthread_attr_init线程通俗举例讲解与线程属性
查看>>
进程和线程的区别
查看>>
int main(int argc,char* argv[])详解,以及与int main()有什么区别
查看>>
SourceInsight全工程查找替换方法
查看>>
C语言chdir()函数:改变当前的工作目录
查看>>
Linux下的函数执行时间的统计方法(测试某个函数的执行时间)
查看>>
调整内核printk的打印级别(启动脚本中运行 echo 0 4 0 7 > /proc/sys/kernel/printk 关闭所有内核打印)
查看>>
临时关闭打开console办法
查看>>
Linux中gmtime和localtime的区别(time_t格式转换为tm格式)
查看>>