4.1 幸运数

4.1_1题目描述

幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。

首先从1开始写出自然数1,2,3,4,5,6,....

1 就是第一个幸运数。

我们从2这个数开始。把所有序号能被2整除的项删除,变为:

1 _ 3 _ 5 _ 7 _ 9 ....

把它们缩紧,重新记序,为:

1 3 5 7 9 .... 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,不是那个数本身能否被3整除!! 删除的应该是5,11, 17, ...

此时7为第3个幸运数,然后再删去序号位置能被7整除的(19,39,...)

最后剩下的序列类似:

1, 3, 7, 9, 13, 15, 21, 25, 31, 33, 37, 43, 49, 51, 63, 67, 69, 73, 75, 79, ...

输入

输入两个正整数m n, 用空格分开 (m < n < 1000*1000)

输出

程序输出 位于m和n之间的幸运数的个数(不包含m和n)。

4.1_2 解题思路

由题可知,需要m、n两个变量,还有统计个数的变量count,要导入ArrayList和Scanner两个类,使用ArrayList中的方法对符合条件的下标,对其下标中数组中数进行归0,然后删除数组中的数为0的数,循行至大于等于n的数,然后再根据题意进行对满足条件的幸运数进行个数的统计。

4.1_3 解决方案

import java.util.ArrayList;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int m = scan.nextInt();

int n = scan.nextInt();

ArrayList arr = new ArrayList();

int count=0;

arr.add(0);//去除下标0

for(int i=1;i<=n;i+=2) arr.add(i);//奇数

for(int i=2;i

{

for(int j=i;j

if(j%arr.get(i)==0) arr.set(j, 0);   //判断下标是否符合条件,符合就归0

for(int j=i;j

if(arr.get(j)==0) arr.remove(j);     //删除归0的数

}

for(int i=1;i

{

if(arr.get(i)>m && arr.get(i)

}

System.out.println(count);

scan.close();

}

}

4.2 爬楼梯

4.2_1 题目描述

楼梯一共有 n层台阶。因为腿长的限制,每次最多能上 4 层台阶。 但是第 5,7 层楼梯坏掉了不能踩。求上楼梯的方案数。n>8

输入

输入n

输出

输出上楼梯的方案总数

4.2_2 解题思路

要从0层爬到n层,最多一次性爬4层

0->0 1

0->1 1

0->2 2

0->3 4

0->4 8 = 1 + 1 + 2 + 4

0->5 0

0->6 14 = 2 + 4 + 8 + 0

0->7 0

0->8 22 = 8 + 0 + 14 + 0

根据规律得出

0->n方案数= n-1方案数+ n-2方案数+ n-3方案数+ n-4方案数,通过这个规律就可以很快的写出来该题的代码。

4.2_3 解决方案

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

int n = scan.nextInt();

int dp[]=new int[n+1];

dp[0]=1;

dp[1]=1;

dp[2]=2;

dp[3]=4;

for(int i=4;i<=n;i++)

{

if(i==5||i==7)       continue;

dp[i]=dp[i]+dp[i-1]+dp[i-2]+dp[i-3]+dp[i-4];

}

System.out.println(dp[n]);

scan.close();

}

}

4.3 小光棍数

4.3_1 题目描述

为了迎接一年一度光棍节的到来,让我们一起来看看小光棍数吧。

倘若一个数的三次方最后三位数是111,这样的数称为小光棍数。

从0开始计数,第一个小光棍数是471(471^3=104487111),请问第m个小光棍数是多少。

输入

第一行一个整数T表示有T组测试数据

接下来T行每行有一个数m

输出

输出第m个小光棍数

每次输出占一行

4.3_2 解题思路

题目要求输入,首先加上import java.util.Scanner;,根据题意思考,这是一个非常经典的同余定理的题,先输入有几组数据,然后通过while循环,将这几组的小光棍数输出,通过同余定理非常好得到该题的答案。

4.3_3 解决方案

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int n = scan.nextInt();

while(n-->0){

long m = scan.nextLong();

System.out.println((471+1000*(m-1))); //同余定理

}

scan.close();

}

}

java小光棍数_java做题记录第4期相关推荐

  1. java小光棍数_小光棍数

    小光棍数 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数.他已经知道 ...

  2. java小光棍数_小光棍数 - NYNU_ACM - 博客园

    小光棍数 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数.他已经知道 ...

  3. 数数题(计数类 DP)做题记录

    数数题(计数类 DP)做题记录 CF1657E Star MST 我们称张无向完全图是美丽的当且仅当:所有和 \(1\) 相连的边的边权之和等于这张完全图的最小生成树的边权之和. 完全图点数为 \(n ...

  4. 退役前的做题记录5.0

    退役前的做题记录5.0 出于某种原因新开了一篇. [CodeChef]Querying on a Grid 对序列建立分治结构,每次处理\((l,mid,r)\)时,以\(mid\)为源点建立最短路树 ...

  5. Regional 做题记录 (50/50)

    写在前面 博主深感自己太弱了QAQ 于是有了一个刷水的想法,Regional的题目还是有很多考查思维的题目,所以这次是乱做50道思考题,可能会顺带做一些水题,这些题的简要题解会写到这篇博文里面,希望能 ...

  6. 2020.7月做题记录

    转眼就到了2020的下半年了-前方仍是一片茫然. 长期计划 prufer 序列 2020.07.02-2020.07.04 Problem Finished P2624 [HNOI2008]明明的烦恼 ...

  7. 退役前的做题记录1.0

    退役前的做题记录1.0 租酥雨最近很懒qwq,具体表现在写题的时候不想发题解了. 但是想想这样也不太好,就决定发个一句话(半句话到几句话不等)题解上来. 2018-09.18-2018-09.28 [ ...

  8. 退役前的做题记录2.0

    退役前的做题记录2.0 最近在刷省选题......大致上是按照省份刷的. 不过上面的题目顺序是按照写题的顺序排列的,所以可能会有点乱哈. [BZOJ2823][AHOI2012]信号塔 最小圆覆盖,随 ...

  9. 退役前的做题记录4.0

    退役前的做题记录4.0 最近主要在LOJ上写题 536. 「LibreOJ Round #6」花札 比较显然的二分图博弈模型,先手必胜当且仅当起始点一定在最大匹配中.连边可以对每种颜色以及数字建一个点 ...

最新文章

  1. python毫秒级时间戳
  2. 特征工程(二) :文本数据的展开、过滤和分块
  3. Java02-day02【运算符(赋值、关系、逻辑、三元、算数、自增自减)、分支语句(顺序结构、if语句)】
  4. thinkPHP学习笔记
  5. boost 获取时间
  6. 超实用的JavaScript技巧及最佳实践(下)
  7. Java-经典排序算法(二)——快速排序
  8. python设计模式之工厂模式概述
  9. 防止链接和二维码被微信拦截(被封锁、被屏蔽、被和谐)的最新方法——MaxJump
  10. java方面的文献综述怎么写_java论文参考文献
  11. Open3D:DBSCAN(C++)
  12. 你可能没听过的11个Python库
  13. matlab中figure的坐标轴label、title、xticklabel的旋转
  14. sql查询ID=1与数据后几条,并且将查询的两个数据显示在一个查询窗口中
  15. Mysql修改数据库名
  16. 控件获取图像可从几方面取得?_基于图像特征与布局刻画的移动测试脚本跨平台录制回放...
  17. 工厂生产现场怎样制定6s管理制度?
  18. 如何理解IGBT的热阻和热阻抗?
  19. 怎么我的c语言打不开文件,我的文档打不开怎么办【解决方法】
  20. 机器视觉标定(calibration)关键尝试(标定的重要意义度量衡)(A)

热门文章

  1. 【京东】商品详情页+商品列表数据采集
  2. python中average什么意思_用numpy.average()做加权平均,结果是nan?
  3. 机房环境监控的系统概述
  4. 脑电数据处理分析——edf转mat及fft
  5. 《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营...
  6. error: invalid application of 'sizeof' to an incomplete type 'JNINativeMethod []'
  7. 西安国微EDA研发中心正式启动运营;2020上半年10大典型工业网络安全事件 | 美通企业日报...
  8. 10月27号吃鸡服务器维护吗,10月27日正式服维护公告
  9. Python 中的 import 语句使用
  10. cassandra日常维护之nodetool repair