1.水仙花*

需求:在控制台输出1000以内的所有“”水仙花数“”
什么是水仙花数?水仙花数是个位、十位、百位的立方和等于原数的数。比如:333+777+111=371.`

public class ShuiXianHua {public static void main(String[] args) {//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束/*分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。*/for(int i=1;i<1000;i++) {//在计算之前获取三位数中每个位上的值int    bai=i/100;int  shi=i/10%10;int    ge=i%10;//判定条件是将三位数中的每个数值取出来,计算立方和后与原始数字比较是否相等if(bai*bai*bai+shi*shi*shi+ge*ge*ge==i) {//输出满足条件的数字就是水仙花数System.out.println(i);}}}}

拓展:如果问1000以内的水仙花数是多少个呢?

public class 水仙花 {public static void main (String[]_args) {//定义变量count,用子保存“水仙花数"的数量,初始值为oint count = 0;//输出所有的水仙花数必然要使用到循环,遍历所有的三位数,三位数从100开始,到999结束for(int i=100; i<1000; i++){//在计算之前获取三位数中每个位上的值int ge = i/10;int shi = i/10%10;int bai = i/10/10%10;//在判定水仙花数的过程中,满足条件不再输出,更改为修改count的值,使count+1if (ge*ge*ge + shi*shi*shi + bai*bai*bai==i) { count++;}}//打印输出最终结果System.out.println("水仙花共有: "+count+"个");}}

*## 2.珠穆朗玛峰

需求:世界最高山峰是珠穆朗玛峰8844.43米= 844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。
请问,我折最多少次,可以折成珠穆朗玛峰的高度?

public class Zhu {public static void main(String[] args) {int count=0;int zhu=8844430;double paper= 0.1;while(paper<=zhu){
//          纸张的倍数paper*=2;count++;}System.out.println("需要折叠的次数为:"+count);}}

3.不死神兔

需求:有一刘兔子,从出生后第3个月起每个月部生-刘兔子,小兔子长到第三个月后每个月又生-刘兔子。
假如兔子都不死。问第二十个月的兔子对数为多少?

public class ShenTu {public static void main(String[] args) {int [] arr= new int[20];arr[0]=1;arr[1]=1;/** arr[2]=arr[1]+arr[0]* arr[3]=arr[2]+arr[1]* */for(int x=2;x<=arr.length-1;x++){arr[x]=arr[x-2]+arr[x-1];}System.out.println("第二十个月的兔子数为"+arr[19]);}
}

**

4.百钱百鸡

**
需求:我国古代数学家张丘建在《算经》-书中提出的数学问题:鸡翁一值钱五,鸡母-值钱三,鸡雏三值钱-。
百钱买百鸡,问鸡翁鸡母、鸡雏各几何?

/*
* 百钱买百鸡
*公鸡五元 母鸡三元 小鸡仔一元三只
* 设公鸡为x
* 母鸡为y
* 小鸡为z
* 则有5x+3y+z/3=100只
* 单看一种类型 公鸡/0<x<20 /母鸡 /0<y<33/ 小鸡/0<z<100/
*  */
public class 百钱白鸡 {public static void main(String[] args) {for(int x=0;x<=20;x++){for(int y=0;y<=33;y++){int z=100-x-y;if(z%3==0 && 5*x+3*y+z/3==100){System.out.println("公鸡:"+x+"母鸡:"+y+"小鸡仔:"+z);}}}}
}

6.数组反转

需求:已知一个数组arr= {1,2,3,4,5};用程序实现把数组中的元素值交换,
交换后的数组arr= {5, 4, 3, 2, 1};并在控制台输出交换后的数组元素。

public class Test{
public static void main(String[] args){int[]arr={1,2,3,4,5};
/*
*循环中定义变量,min=0,最小索引
*max-arr. length-1,最大索引
” min++,
* */for(int min=0,max=arr.length-1;min<max;max++,min--){int temp=arr[min];arr[min]=arr[max];arr[max]=temp;}for(int i=0;i<arr.length;i++){System.out.print(arr[i]+"-");}
}
public class fre{public static void main(String[] args) {
//数组的反转:数组中元素颠倒顺序,例如原始数组为1,2,3,4,5.反转的数组为5,4,3,2,1int[] arr = {1, 2, 3, 4, 5};for (int i = 0; i < arr.length / 2; i++) {//因为交换数组内的元素,只用换数组长度一半次数int temp = arr[i];arr[i] = arr[arr.length - 1 - i];arr[arr.length - 1 - i] = temp;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "  ");}}
}

这个更复杂一些

//让一个数组内的元素交换
public class SZFZ {public static void main(String[] args) {int[] arr = {10, 20, 30, 40, 50};diaohuan(arr);shuzu(arr);}public static void diaohuan( int[] arr) {for (int start = 0, end = arr.length - 1; start < end; start++, end--) {
//             变量交换int temp = arr[start];arr[start] = arr[end];arr[end] = temp;}}public static void shuzu ( int[] arr){System.out.print("[");for (int x = 0; x < arr.length; x++) {if (x == arr.length - 1) {System.out.print(arr[x]);} else {System.out.print(arr[x] + ",");}}System.out.print("]");}}

7:评委打分

需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0- 100的整数分。
选手的最后得分为:去掉一个最高分和一 个最低分后的4个评委平均值(不考虑小数部分)。

import java.util.Scanner;/** 需求:在一个编程比赛中,六个评委为参赛选手打分,去掉一个最高分和一个最低分* 分数为0-100的整数分,最后算去掉分数后的四位老师的平均数 不考虑小数点*/
public class dafen {public static void main(String[] args) {int[] arr = new int[6];Scanner sc = new Scanner(System.in);
//for (int x = 0; x < arr.length; x++) {System.out.println("请输入第" + (x + 1) + "个评委的分数");arr[x] = sc.nextInt();}int max = Max(arr);int min = Min(arr);int su = sum(arr);int avg=(su-max-min) / (arr.length-2);System.out.println(avg);}public static int Max(int[] arr) {int max = 0;for (int x = 0; x < arr.length; x++) {if (max < arr[x]) {max = arr[x];}}return max;}public static int Min(int[] arr) {int min = 0;for (int x = 0; x < arr.length; x++) {if (min >arr[x]) {min = arr[x];}}return min;}public static int sum(int[] arr) {int su = 0;for (int x = 0; x < arr.length; x++) {su += arr[x];}return su;}}

8.逢七过

需求:朋友聚会的时候可能会玩一个游戏: 逢七过。规则是:从任意-个数字开始报数, 当你要报的数字包含7或者是7的倍
数时都要说:过。为了帮助大家更好的玩这个游戏,这里我们直接在控制台打印出1 -100之间的满足逢七必过规则的数据。
这样,大家将来在玩游戏的时候,就知道哪些数据要说:过。

public class FengQiPass {public static void main(String[] args) {for(int x=1;x<=100;x++){if(x%10==7||x%10%10==7||x%7==0){System.out.println(x);}}}
}

9.完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000以内的所有完数。


public class 完数 {public static void main(String[] args) {System.out.println("1000以内的所有完数有:");for (int i = 2; i < 1000; i++) {// 遍历1000以内的所有整数int sum = 0;// 定义和变量for (int j = 1; j < i; j++) {if (i % j == 0) {// 满足是i的因子,就累加sum += j;}}if (sum == i) {// 满足因子之和等于i就打印该完数System.out.print(i + " ");}}}
}

10.随机组数

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的
三位数?都是多少?

public class zushu {public static void main(String[] args) {int sum = 0;for (int i = 100; i <= 999; i++) {int ge = i%10;int shi = i/10%10;int bai = i/100%100;if (ge <= 4 & shi <= 4 & bai <= 4 & ge >= 1 & shi >= 1 & bai >=1) {if (ge != shi & ge != bai & shi != bai) {System.out.println(i);sum++;}}}System.out.println("能组成" + sum + "个不同且无重读数字的三位数");}}

11.自由落体的球

一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高

public class Fantan {public static void main(String[] args) {double sum =100;double qiu=100;//每次掉落都少一半 qiu/2for(int x=1;x<=10;x++){qiu=qiu/2;sum=sum+2*qiu;System.out.println(sum - qiu);System.out.println("-------------");System.out.println(qiu);}}}

Java最基础的算法逻辑题,新手一定要看看呀。相关推荐

  1. Java入门基础及面试100题--初入门

    Java入门基础及面试100题 注:适合应届毕业生或java初入门者 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程, ...

  2. 【Java】基础排序算法-插入排序

    基础排序算法-------插入排序 实现过程: 插入排序的过程就像整理桥牌的过程:每次将待排元素中的第一个元素插入到有序区间的合适位置,为了给当前待排元素腾出位置,需要将有序区间内所有大于待排元素的其 ...

  3. 算法逻辑题_二.计算法

    二. 计算法 一. 假设法 二. 计算法 初级题: 29.如何分酒? 一个人晚上出去打了10斤酒,回家的路上碰到了一个朋友,恰巧这个朋友也是去打酒的.不过,酒家已经没有多余的酒了,且此时天色已晚,别的 ...

  4. 阿里巴巴2017实习生招聘研发工程师JAVA考试 最懵逼的逻辑题

    [最新出炉 2017年4月26日] 阿里巴巴2017实习生招聘研发工程师JAVA考试 [单选]面试官给A.B两位同学额头上分别贴了一个正整数,两个数字相差为2,两位同学互相对视只能看到对方的数字,两位 ...

  5. java面试为什么会有逻辑题,java面试逻辑题

    1.如何问问题? 有甲.乙两人,其中,甲只说假话,而不说真话:乙则是只说真话,不说假话.但是,他们两个人在回答别人的问题时,只通过点头与摇头来表示,不讲话.有一天,一个人面对两条路:A与B,其中一条路 ...

  6. 算法逻辑题-海盗分金币问题

    有5个海盗,获得了100枚金币,他们约定一个分配方案. 商议方式:1.有5个海盗轮流提出分配方案                 2.如果超出半数海盗(包括提出者)同意该方案,则按照该方案分配    ...

  7. 机器学习基础-经典算法总结

    机器学习基础-经典算法 逻辑回归 逻辑回归的原理,问题的假设 为什么逻辑回归也可称为对数几率回归 推导逻辑回归损失函数 逻辑回归损失函数求导 逻辑回归为什么使用交叉熵作为损失函数 LR是不是凸优化问题 ...

  8. java gui中文变方块_150道Java面试基础题(含答案)

    1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 vo ...

  9. Java经典基础与高级面试36题和答案

    在Java面试的首轮,经常会问很多关于Java面试基础以及高级的问题,今天收集相关Java面试36题和答案分享出来. 1."static"关键字是什么意思?Java中是否可以覆盖( ...

最新文章

  1. 《linux 内核全然剖析》 mktime.c
  2. wgrib读grib数据
  3. Java集合之Properties
  4. 为outlook增加“邮件召回”功能
  5. Pytorch的网络结构可视化:Netron与TensorBoardX
  6. c语言词法分析程序,词法分析器(c语言实现)
  7. Angular No provider for EffectsRootModule错误消息的出现原因和修复方式
  8. ABP入门系列(20)——使用后台作业和工作者
  9. 软件工程复习提纲——第七章
  10. 【写作技巧】毕业论文写作要素和步骤有哪些呢?
  11. iwlist/iwconfig/iw命令
  12. 蜗牛星际D款安装黑群晖教程
  13. 2021年计算机保研记录 (中南,南理工,重大软,东华)
  14. 基于SBO的委外加工条码解决方案
  15. linux更改库文件vfp,linux交叉编译的库在链接时提示:xxx uses VFP register arguments xxx does not...
  16. [文摘20090201]男女朋友~~需记住亦舒的77句话
  17. 不一样的视觉盛宴,Python实现3D地图
  18. 关于node版本16+ 安装依赖会出现error的问题
  19. 越南unicode范围
  20. 微信支付报出 商户订单号重复 错误问题

热门文章

  1. python字母对应数字上海迪士尼残疾人门票_所有景点提供无障碍设施 残障人士也能玩转上海迪士尼...
  2. 虚幻4学习日志2021.4.1 关于瞬移(相机拉近)以及二段跳
  3. 从事计算机科学的要求,申请康奈尔大学计算机科学专业有什么要求?
  4. matlab bfs函数,Matlab脚本和函数
  5. python获取cpu温度_如何获得树莓派CPU实时温度值
  6. 蚂蚁java一二三面面经
  7. IDM UltraEdit编辑器V26.00.0.48 烈火汉化64位版
  8. 双系统启动界面自定义美化设置
  9. 如何解决跟这台计算机连接的一个usb设备运行不正常
  10. 方舟无限琥珀服务器,方舟生存进化无限琥珀版