java求最大公约数_10道java经典算法题,小白必备,每一题都能提升你的java能力...

JAVA经典算法

530e87495df8fae6ba811f6617d407a2.png

跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发!

更多java资料可以私信我领取!

919e1abbcc8e260814a28661a87f068a.png

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

public class exp2{

public static void main(String args[]){

int i=0;

for(i=1;i<=20;i++)

System.out.println(f(i));

}

public static int f(int x)

{

if(x==1 || x==2)

return 1;

else

return f(x-1)+f(x-2);

}

}

public class exp2{

public static void main(String args[]){

int i=0;

math mymath = new math();

for(i=1;i<=20;i++)

System.out.println(mymath.f(i));

}

}

class math

{

public int f(int x)

{

if(x==1 || x==2)

return 1;

else

return f(x-1)+f(x-2);

}

}

【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。

public class exp2{

public static void main(String args[]){

int i=0;

math mymath = new math();

for(i=2;i<=200;i++)

if(mymath.iszhishu(i)==true)

System.out.println(i);

}

}

class math

{

public int f(int x)

{

if(x==1 || x==2)

return 1;

else

return f(x-1)+f(x-2);

}

public boolean iszhishu(int x)

{

for(int i=2;i<=x/2;i++)

if (x % 2==0 )

return false;

return true;

}

}

【程序3】 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

public class exp2{

public static void main(String args[]){

int i=0;

math mymath = new math();

for(i=100;i<=999;i++)

if(mymath.shuixianhua(i)==true)

System.out.println(i);

}

}

class math

{

public int f(int x)

{

if(x==1 || x==2)

return 1;

else

return f(x-1)+f(x-2);

}

public boolean iszhishu(int x)

{

for(int i=2;i<=x/2;i++)

if (x % 2==0 )

return false;

return true;

}

public boolean shuixianhua(int x)

{

int i=0,j=0,k=0;

i=x / 100;

j=(x % 100) /10;

k=x % 10;

if(x==i*i*i+j*j*j+k*k*k)

return true;

else

return false;

}

}

【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

public class exp2{

public exp2(){}

public void fengjie(int n){

for(int i=2;i<=n/2;i++){

if(n%i==0){

System.out.print(i+"*");

fengjie(n/i);

}

}

System.out.print(n);

System.exit(0);///不能少这句,否则结果会出错

}

public static void main(String[] args){

String str="";

exp2 c=new exp2();

str=javax.swing.JOptionPane.showInputDialog("请输入N的值(输入exit退出):");

int N;

N=0;

try{

N=Integer.parseInt(str);

}catch(NumberFormatException e){

e.printStackTrace();

}

System.out.print(N+"分解质因数:"+N+"=");

c.fengjie(N);

}

}

【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

import javax.swing.*;

public class ex5 {

public static void main(String[] args){

String str="";

str=JOptionPane.showInputDialog("请输入N的值(输入exit退出):");

int N;

N=0;

try{

N=Integer.parseInt(str);

}

catch(NumberFormatException e){

e.printStackTrace();

}

str=(N>90?"A":(N>60?"B":"C"));

System.out.println(str);

}

}

【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

最大公约数:

public class CommonDivisor{

public static void main(String args[])

{

commonDivisor(24,32);

}

static int commonDivisor(int M, int N)

{

if(N<0||M<0)

{

System.out.println("ERROR!");

return -1;

}

if(N==0)

{

System.out.println("the biggest common divisor is :"+M);

return M;

}

return commonDivisor(N,M%N);

}

}

最小公倍数和最大公约数:

import java.util.Scanner;

public class CandC

{

//下面的方法是求出最大公约数

public static int gcd(int m, int n)

{

while (true)

{

if ((m = m % n) == 0)

return n;

if ((n = n % m) == 0)

return m;

}

}

public static void main(String args[]) throws Exception

{

//取得输入值

//Scanner chin = new Scanner(System.in);

//int a = chin.nextInt(), b = chin.nextInt();

int a=23; int b=32;

int c = gcd(a, b);

System.out.println("最小公倍数:" + a * b / c + "最大公约数:" + c);

}

}

【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为 ' '.

import java.util.Scanner;

public class ex7 {

public static void main(String args[])

{

System.out.println("请输入字符串:");

Scanner scan=new Scanner(System.in);

String str=scan.next();

String E1="[一-龥]";

String E2="[a-zA-Z]";

int countH=0;

int countE=0;

char[] arrChar=str.toCharArray();

String[] arrStr=new String[arrChar.length];

for (int i=0;i

{

arrStr[i]=String.valueOf(arrChar[i]);

}

for (String i: arrStr )

{

if (i.matches(E1))

{

countH++;

}

if (i.matches(E2))

{

countE++;

}

}

System.out.println("汉字的个数"+countH);

System.out.println("字母的个数"+countE);

}

}

【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

import java.io.*;

public class Sumloop {

public static void main(String[] args) throws IOException

{

int s=0;

String output="";

BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入a的值");

String input =stadin.readLine();

for(int i =1;i<=Integer.parseInt(input);i++)

{

output+=input;

int a=Integer.parseInt(output);

s+=a;

}

System.out.println(s);

}

}

另解:

import java.io.*;

public class Sumloop {

public static void main(String[] args) throws IOException

{

int s=0;

int n;

int t=0;

BufferedReader stadin = new BufferedReader(new InputStreamReader(System.in));

String input = stadin.readLine();

n=Integer.parseInt(input);

for(int i=1;i<=n;i++){

t=t*10+n;

s=s+t;

System.out.println(t);

}

System.out.println(s);

}

}

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

public class Wanshu {

public static void main(String[] args)

{

int s;

for(int i=1;i<=1000;i++)

{

s=0;

for(int j=1;j

if(i % j==0)

s=s+j;

if(s==i)

System.out.print(i+" ");

}

System.out.println();

}

}

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

public class Ex10 {

public static void main(String[] args)

{

double s=0;

double t=100;

for(int i=1;i<=10;i++)

{

s+=t;

t=t/2;

}

System.out.println(s);

System.out.println(t);

}

}

1782fb764f9eb3ad9cf211b6fb1d6769.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为A1路由器虚拟服务器,华为a1路由器怎么设置 华为路由器a1怎么安装视频-192路由网...

问&#xff1a;华为A1无线路由器怎么设置&#xff1f;买了一台华为A1无线路由器回来&#xff0c;可以不知道怎么设置才能上网&#xff0c;悲剧了&#xff01;&#xff01;答&#xff1a;华为A1无线路由器的设置很简单&#xff0c;可以用手机设置、也可以用电脑来设置。下面小编…

建立数组并写入数据_VBA数组与字典解决方案第37讲:在VBA中字典的应用

大家好&#xff0c;我们今日继续讲解VBA数组与字典解决方案第37讲内容&#xff1a;在VBA中字典的应用。对于字典,也许许多的朋友对此比较陌生&#xff0c;在有的语言里字典也称之为MAP,应用也是比较广泛的。字典&#xff0c;其实就是一些“键&#xff0d;值”对。使用起来非常方…

ajax jsp模糊查询源码,ajax模糊查询api

ajax模糊查询api 内容精选换一换使用标签过滤实例POST /v2/{project_id}/{resource_type}/resource_instances/action请求样例action为filter时请求体响应样例action为filter时响应体&#xff1a;action为count时响应体&#xff1a;请参见错误码。查询公网Zone的列表。GET /v2/…

网站服务器断电后果,数据库服务器突然断电后果

数据库服务器突然断电后果 内容精选换一换当企业的IT系统部署在本地数据中心&#xff0c;为了提升IT系统可靠性且降低投资成本时&#xff0c;可通过跨云容灾的方式&#xff0c;将容灾系统部署在云端。华为云提供的跨云容灾方案&#xff0c;面向大量企业、金融普遍采用的灾备中心…

0编译器详解_详解Java枚举类型(Enum)中的方法

文章前记程序员工作久了便可能整日忙碌于“增删改查”中&#xff0c;迷失方向&#xff0c;毫无进步。该公众号致力于分享软件开发相关的原创干货&#xff0c;助你完成从程序员到架构师的进阶之路&#xff01;努力&#xff01;做一个NB的Coder!在上篇文章中&#xff0c;我们对Ja…

选中内容_Excel – 选中的单元格自动显示在A1,报表演示数据再多也能看清

当我们要拿一张数据量比较大的报表做演示时&#xff0c;是不是经常会这样&#xff1f;演示者&#xff1a;今年 xxx 月的销售业绩不错&#xff0c;总计 xxx&#xff0c;比上月增长了 xx%。领导们&#xff1a;你说的这数字在哪&#xff1f;演示者&#xff1a;请您看投影上第 23 行…

5渲染判断_先渲染再对焦,KeyShot 深度通道在 Photoshop 中的对接

事情的起因&#xff0c;是在我用华为 P40 Pro 手机的时候&#xff0c;发现华为拍照系统当中的先拍照后对焦功能实在强大&#xff0c;那我会想到这个东西能不能用在我们产品渲染当中呢&#xff1f;仔细想一想这个东西&#xff0c;无非就是通过距离判断相机对焦点和景深的一个做法…

adc0809引脚图及功能_80C51单片机的引脚及其功能介绍

首先我们来连接一下单片机的引脚图&#xff0c;如果&#xff0c;具体功能在下面都有介绍。单片机的40个引脚大致可分为4类&#xff1a;电源、时钟、控制和I/O引脚。⒈ 电源&#xff1a; ⑴ VCC - 芯片电源&#xff0c;接5V&#xff1b;⑵ VSS - 接地端&#xff1b;⒉ 时钟&…

http发送16进制报文_HTTP系列探索HTTP网络层的”前端性能优化“

作者&#xff1a;前端学苑 公号 / 前端小贾 (本文来自作者投稿)编者荐语性能是前端编码规范、网络层面、辅助工具等相互作用的结果。这是一个兼顾广度和深度的问题&#xff0c;优化好了可以加快首屏加载速度提高用户留存率&#xff0c;节省服务器资源降低成本等&#xff0c;也是…

mysql查看表结构修改记录表_MySQL 表结构查看以及表结构修改

使用MySql数据库时&#xff0c;如果对表字典不够熟悉&#xff0c;我们就需要查看表结构。如果数据库是在远程linux上部署&#xff0c;很多时候我们只能通过mysql的命令来查看表结构。同样&#xff0c;如果我们想要修改表结构&#xff0c;添加、删除、修改列时&#xff0c;也只能…

69讲入门python_Python入门,一定要吃透这69个内置函数

内置函数就是Python预先定义的函数&#xff0c;这些内置函数使用方便&#xff0c;无需导入&#xff0c;直接调用&#xff0c;大大提高使用者的工作效率&#xff0c;也更便于程序的阅读。截止到Python版本3.9.1&#xff0c;Python一共提供了69个内置函数。如果你还没入门&#x…

mysql sql组合_详解mysql 组合查询

使用UNION多数SQL查询都只包含一个或多个表中返回数据的单条SELECT语句。MySQL也允许执行多个查询(多条SELECT语句)&#xff0c;并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)有两种情况需要使用组合查询&#xff1a;在单个表查询中从不同的表返回类似结构的…

mysql 表引擎 entity framework_EntityFramework之数据库以及表基本创建(一)

前言之前有学过EF一段时间那时EF才4.0似乎还不太稳定&#xff0c;而现在EF都已7.0版本&#xff0c;同时AspNet Identity都与此大有关联&#xff0c;看来是大势所趋于是开始学习EF&#xff0c;在学EF过程中也遇到一些小问题&#xff0c;特此录下&#xff0c;以备忘&#xff01;数…

mysql+linux+无法启动服务无法启动不了_Linux实例中MySQL服务常见的无法启动或启动异常处理...

概述本文介绍了在Linux实例中&#xff0c;MySQL常见的无法启动或启动异常处理方法。详细描述常见问题处理描述&#xff0c;目录如下。提示&#xff1a;MySQL错误日志通常记录在/alidata/log/mysql/error.log文件下。MySQL配置文件my.cnf权限问题导致无法启动&#xff0c;错误提…

python3缺少pip_Ubuntu中找不到pip3命令的解决方法

Ubuntu中找不到pip3命令的解决方法Ubuntu 有 python2 和 python3。今天使用 Ubuntu 中的 python3 时&#xff0c;想要安装第三方库却发现 pip 指向的是 python2 。因为记得 Ubuntu 系统默认将 python3 的 pip 命令改成了 pip3&#xff0c;于是执行 pip3 -V &#xff0c;报命令不…

linux mysql revoke_Linux环境下MySQL基础命令(4)----数据库的用户授权

MySQL数据库的root用户拥有对所有库&#xff0c;表的全部权限&#xff0c;频繁的使用root用户会给数据库带来很大的风险&#xff0c;因此应建立一些低权限用户&#xff0c;只负责一部分库、表的管理维护操作&#xff0c;甚至可以对增、删、改、查各个操作进一步细化限制&#x…

java gc机制新区域旧屋_Java 内存回收机制——GC机制-Go语言中文社区

一、Java GC 概念说明Java GC(Garbage Collection&#xff0c;垃圾收集&#xff0c;垃圾回收)机制&#xff0c;是Java与C/C的主要区别之一&#xff0c;作为Java开发者&#xff0c;一般不需要专门编写内存回收和垃圾清理代码&#xff0c;对内存泄露和溢出的问题&#xff0c;也不…

java反射 虚拟机优化_面试官问我:Java反射是什么?我回答竟然不上来......

每天凌晨00点00分,第一时间与你相约每日英文We all have moments of desperation. But if we can face them head on, that’s when we find out just how strong we really are.我们都有绝望的时候&#xff0c;只有在勇敢面对时&#xff0c;我们才知道我们有多坚强。每日掏心话…

c java 开发效率高_Java 的开发效率究竟比 C++ 高在哪里?

如果选择C&#xff0c;那C 的难度与JAVA 比&#xff0c;那应该不在一个层次。因为 C 作者及委员会想给你带来足够的抽象能力&#xff0c;让你可以抽象这个世界&#xff1b;给你足够的自由与控制硬件的能力&#xff0c;及零开销的高性能。简单点说&#xff0c;C程序员如同神一般…

java矩阵类_151-矩阵类

[java]代码库import java.util.Scanner;import java.util.Arrays;public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int r scan.nextInt();int c scan.nextInt();System.out.println("row:"r" column:"…