/**
* @author:(LiberHome)
* @date:Created in 2019/3/1 23:14
* @description:
* @version:$
*/
import java.util.Arrays;
/*设计一个程序,输出递增序列前100个数字,A满足
* 1在其中
* 如果x在其中,那么2x,3x也在其中
* 除此之外没有别的数*/
/*也就是说,这些数字里面存在的是1,
* 以及任何已存在数字的两倍
* 以及任何已经存在的数字的3倍*/
/* ~~*************************************************************~*/
/*巨汗~上面的思路完全写不出来程序啊~ 下面这个思路要记住哦~~~~*/ /*简单,从1开始将自然数逐个判断是否加入列表,判断逻辑是 3,对于3同理
4. 否则i不属于列表
5. 列表中要素个数达到n时退出循环*/
public class page0902 {
public static void main(String[] args) {
arr100();
} private static void arr100() {
int[] arr = new int[100];
/*1. 1属于列表,加入*/
arr[0]=1;
int j=1;
/*2. 对于i>1,若i%2==0 && i/2属于列表,i也属于列表,加入*/
for (int i = 1; i <10 ; i++) {
if (j%2==0&&contains(i,arr)){
arr[i]=j++;
}else if (j%3==0&& contains(i,arr)){
arr[i]=j++;
}
else {
j++;
i--;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(" "+arr[i]);
}
} private static boolean contains(int i,int arrs[]) {
/*自己写一个实现判断数组中是否存在该元素的方法*/
/*里一个flag*/
int flag=0;
for (int j = 0; j < 100; j++) {
if (i/2==arrs[j]){
flag++;
break;
}
}
for (int j = 0; j < 100; j++) {
if (j/3==arrs[j]){
flag++;
break;
}
}
if (flag==2){
return true;
}
return false;
}
}

最新文章

  1. Angular依赖注入详解
  2. android对话框的EditText点击后不显示输入法的问题
  3. ajax检查用户名是否存在
  4. ZooKeeper之ZAB协议
  5. Visual Studio的调试技巧
  6. ccc prefab
  7. selenium webdriver
  8. TableViewCell的分割线显示不全解决方法
  9. List集合实战总结
  10. JS的加载方式---同步和异步
  11. c# WinForm 编程总结
  12. myeclipse2015不能启动tomcat,提示: Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at local
  13. 组装和拆分JSON
  14. [PWA] 15. Using The IDB Cache And Display Entries
  15. QT序列化操作(比较复杂和完善)
  16. 【Echarts每天一例】-1
  17. Angular4 组件通讯方法大全
  18. wpf的tab移动焦点只能在容器内部使用
  19. 关于使用Git的几点小技巧
  20. mavan安装本地jar

热门文章

  1. shell使用lftp连接ftp和sftp,并可以指定私钥
  2. PL/SQL连接远程oracle数据库配置
  3. js打印WEB页面内容代码大全
  4. 51nod 1035 最长的循环节
  5. 【原创】Java基础之常用JVM工具
  6. Python--map()函数
  7. JAVA 求数组中的最大值
  8. 洛谷P3398 仓鼠找suger
  9. webstorm主要快捷键
  10. php 文件系统函数及目录函数