当前位置: 首页 > news >正文

Java常见算法题解析面试题(中)

11.判断101-200之间有多少个素数,并输出所有素数。【重点】
程序分析:判断素数的方法,用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class lianxi {
    public static void main(String[] args) {
        int count = 0; 
        for(int i=101; i<200; i+=2) {
            boolean b = false; 
            for(int j=2; j<=Math.sqrt(i); j++) {
                if(i % j == 0) {
                    b = false; break;
                } else { 
                    b = true; 
                } 
            } 
            if(b == true) {
                count ++;
                System.out.println(i );
            } 
        } 
        System.out.println( "素数个数是: " + count);
    }
}
12.水仙花数。【了解】
问题描述:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
public class lianxi { 
    public static void main(String[] args) { 
        int b1, b2, b3;
        for(int m=101; m<1000; m++) { 
            b3 = m / 100;
            b2 = m % 100 / 10;
            b1 = m % 10; 
            if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { 
                System.out.println(m+"是一个水仙花数"); 
            } 
        } 
    }
}
13.正整数分解质因数。【了解】
问题描述:将一个正整数分解质因数,例如:输入90,打印出 90=2*3*3*5。 
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 
如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可;
如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步;
如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print( "请键入一个正整数: "); 
int n = s.nextInt();
  int k=2;
  System.out.print(n + "=" ); 
  while(k <= n) { 
if(k == n) { 
System.out.println(n); 
break;
} else if( n % k == 0) {
System.out.print(k + "*");
      n = n / k;
} else {
k++;
    } 
}
14.最大公约数和最小公倍数。【了解】
程序分析:在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的 较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
import java.util.*; 
public class lianxi {
    public static void main(String[] args) { 
        int a ,b,m;
        Scanner s = new Scanner(System.in); 
        System.out.print( "键入一个整数:"); 
        a = s.nextInt(); 
        System.out.print( "再键入一个整数: ");
        b = s.nextInt(); 
        deff cd = new deff();
        m = cd.deff(a,b); 
        int n = a * b / m; 
        System.out.println("最大公约数: "+m); 
        System.out.println("最小公倍数: "+n); 
    }
}
class deff{ 
    public int deff(int x, int y){
        int t; 
        if(x < y) {
            t = x;
            x = y;
            y = t; 
        }
        while(y != 0) { 
            if(x == y)  return x;
            else { 
                int k = x % y;
                x = y;
                y = k;
            }
        }
        return x; 
    }
}
15.完数。【了解】
问题描述:一个数如果恰好等于它的因子之和,这个数就称为"完数",编程找出1000以内的所有完数,例如:6=1+2+3。
public class lianxi { 
    public static void main(String[] args) { 
        System.out.println("1到1000的完数有:"); 
        for(int i=1; i<1000; i++) { 
            int t = 0; 
            for(int j=1; j<= i/2; j++) { 
                if(i % j == 0) {
                    t = t + j;
                }
            }
            if(t == i) {
                System.out.print(i + " ");
            }
        } 
    }
}
16.完全平方数。【了解】
问题描述:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
public class lianxi { 
    public static void main(String[] args) { 
        for(int x =1; x<100000; x++) { 
            if(Math.sqrt(x+100) % 1 == 0) { 
                if(Math.sqrt(x+268) % 1 == 0) { 
                    System.out.println(x + "加100 是一个完全平方数,再加168 又是一个完全平方数");
                }
            }
        } 
    }
}

17.猴子吃桃。【了解】
问题描述:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
public class lianxi {
    public static void main(String[] args) { 
        int x = 1;
        for(int i=2; i<=10; i++) 
x = (x+1)*2; 
        System.out.println("猴子第一天摘了" + x + " 个桃子");
    }
}
18.乒乓球比赛。【了解】
问题描述:两个乒乓球队进行比赛,各出三人。甲队为a、b、c三人,乙队为x、y、z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x、z比,请编程序找出三队赛手的名单。
public class lianxi { 
    static char[] m = { 'a', 'b', 'c' };
    static char[] n = { 'x', 'y', 'z' }; 
    public static void main(String[] args) { 
        for (int i = 0; i < m.length; i++) {
            for (int j = 0; j < n.length; j++){
                if (m[i] == 'a' && n[j] == 'x'){ 
                    continue;
                } else if (m[i] == 'a' && n[j] == 'y') { 
                    continue; 
                } else if ((m[i] == 'c' && n[j] == 'x') || (m[i] == 'c' && n[j] == 'z')) {
                    continue; 
                } else if ((m[i] == 'b' && n[j] == 'z') || (m[i] == 'b' && n[j] == 'y')) {
                    continue; 
                } else 
                    System.out.println(m[i] + " vs " + n[j]); 
            }
        } 
    }
}
19.求1+2!+3!+...+20!的和。【重点】 
public class lianxi { 
    public static void main(String[] args) { 
        long sum = 0; 
        long fac = 1;
        for(int i=1; i<=20; i++) { 
            fac = fac * i; 
            sum += fac;
        }
        ystem.out.println(sum);
    }
}
20.计算年龄。【了解】
问题描述:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
public class lianxi { 
    public static void main(String[] args) { 
        int age = 10;
        for(int i=2; i<=5; i++) { age =age+2; }
        System.out.println(age); 
    }
}

相关文章:

Java常见算法题解析面试题(中)

11.判断101-200之间有多少个素数&#xff0c;并输出所有素数。【重点】 程序分析&#xff1a;判断素数的方法&#xff0c;用一个数分别去除2到sqrt(这个数)&#xff0c;如果能被整除&#xff0c;则表明此数不是素数&#xff0c;反之是素数。 public class lianxi { publi…...

提升网站性能的秘诀:为什么Nginx是高效服务器的代名词?

在这个信息爆炸的时代&#xff0c;每当你在浏览器中输入一个网址&#xff0c;背后都有一个强大的服务器在默默地工作。而在这些服务器中&#xff0c;有一个名字你可能听说过无数次——Nginx。今天&#xff0c;就让我们一起探索这个神奇的工具。 一、Nginx是什么 Nginx&#x…...

[Python图像处理] 使用OpenCV创建深度图

使用OpenCV创建深度图 双目视觉创建深度图相关链接双目视觉 在传统的立体视觉中,两个摄像机彼此水平移动,用于获得场景上的两个不同视图(作为立体图像),就像人类的双目视觉系统: 通过比较这两个图像,可以以视差的形式获得相对深度信息,该视差编码对应图像点的水平坐标的…...

vue+element 换肤功能

1.首先建深色和浅色两个主题样式变量样式表&#xff0c;样式表名和按钮中传入的值一样&#xff0c;本例中起名为default.scss和dark.scss 2.在data中定义主题变量名 zTheme:‘defalut’&#xff0c;默认引用defalut.scss, 在点击按钮时切换引用的样式表&#xff0c;达到换肤效果…...

python魔法函数[全面]

1、init 用于初始化对象的属性和状态 当创建一个对象时&#xff0c;Python会自动调用该对象的__init__方法。 这个方法用于初始化对象的属性和状态&#xff0c;是对象创建过程中的一个重要环节 2、new # 通常我们不需要重写__new__方法&#xff0c;除非我们正在进行一些非常…...

python实现贪吃蛇小游戏(附源码)

文章目录 导入所需的模块坐标主游戏循环模块得分 贪吃蛇小游戏&#xff0c;那个曾经陪伴着00后和90后度过无数欢笑时光的熟悉身影&#xff0c;仿佛是一把打开时光之门的钥匙。它不仅是游戏世界的经典之一&#xff0c;更是我们童年岁月中不可或缺的一部分&#xff0c;一个承载回…...

爬虫学习笔记-Cookie登录古诗文网

1.导包请求 import requests 2.获取古诗文网登录接口 url https://so.gushiwen.cn/user/login.aspxfromhttp%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx # 请求头 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like …...

Linux网络状态查看与防火墙管理

网络状态查看 netstat [选项] Netstat是一款命令行工具&#xff0c;用于显示Linux系统中网络的状态信息&#xff0c;可以显示网络连接、路由表、连接的数据统计等信息。 使用 选项 -a&#xff1a;显示所有选项&#xff0c;包括监听和未监听的端口。 -t&#xff1a;仅显示tc…...

VxTerm:C++ MFC,在工具栏中增加Edit/ComboBox等组件,打造一个地址栏/搜索栏功能

VxTerm软件可以在本站链接下载&#xff1a;唯一国产化SSH工具下载&#xff0c;单文件纯绿色不需要安装&#xff0c;替代SecureCRT 在软件的主界面中&#xff0c;增加了一个地址栏功能。 本人的文章内容都是经本人亲自实现并验证成功的干货&#xff0c;关注我&#xff0c;互相交…...

【Android】屏幕锁

屏幕锁&#xff0c;就是锁住屏幕不让用户误触摸&#xff0c;从开发者的角度看就是不响应用户的点击事件。 屏幕锁界面 可以自己创建一个布局文件&#xff0c;或者直接创建一个View&#xff08;例如ImageView&#xff09;。 参数LayoutParams mLayoutParams new LayoutParam…...

springCloud gateway 防止XSS漏洞

springCloud gateway 防止XSS漏洞 一.XSS(跨站脚本)漏洞详解1.XSS的原理和分类2.XSS漏洞的危害3.XSS的防御 二.Java开发中防范XSS跨站脚本攻击的思路三.相关代码&#xff08;适用于spring cloud gateway&#xff09;1.CacheBodyGlobalFilter.java2.XssRequestGlobalFilter.java…...

美赛摘要写作重点

摘要是论文最重要的部分。竞赛要求每篇论文的首页为摘要页&#xff0c;如果摘要写得不好&#xff0c;即使有好的模型和解答&#xff0c;论文也将难以通过鉴别阶段的初审而进入下一阶段。 根据MCM的竞赛规则&#xff0c;摘要应该包含以下内容&#xff1a; 赛题重述与阐明&#…...

RUST笔记: 动态链接库的创建和使用

生成动态链接库 // https://github.com/vvvm23/funny-shapes # 项目元信息 [package] name "funnyshapes" # 项目名称 version "0.1.0" # 版本号 edition "2021" # Rust语言版本# 更多配置信息可查阅&#xff1…...

「阿里云」幻兽帕鲁个人服务器已上线,3分钟快速搭建

基于阿里云搭建幻兽帕鲁服务器方法&#xff0c;1到2分钟部署完成&#xff0c;稳定运行无卡顿&#xff0c;阿里云服务器网aliyunfuwuqi.com分享保姆级手把手教程&#xff0c;基于阿里云计算巢、云服务器或无影云桌面都可以&#xff1a; 基于阿里云幻兽帕鲁服务器创建教程 基于…...

@ 代码随想录算法训练营第6周(C语言)|Day36(贪心)

代码随想录算法训练营第6周&#xff08;C语言&#xff09;|Day36&#xff08;贪心&#xff09; Day36、贪心&#xff08;包含题目 ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间 &#xff09; 435. 无重叠区间 题目描述 给定一个区间的集合&#xff0c;找到需要…...

数组打印杨辉三角

签名&#xff1a;但行好事&#xff0c;莫问前程。 文章目录 前言一、杨辉三角的概念二、二维数组打印杨辉三角1、创建二维数组2、使用for循环&#xff0c;初始化外层元素3、给数组赋值3.1给数组每行首末元素赋值为13.1给数组每行非首末元素赋值 三、杨辉三角全代码总结 前言 记…...

【操作系统·考研】文件系统

1.概述 文件系统(File System)提供高效和便捷的磁盘访问&#xff0c;以便允许存储、定位、提取数据。 严格来说&#xff0c;VFS并不是一种实际的FS&#xff0c;它只存在于内存中&#xff0c;不存在与任何外存空间中。 VFS在系统启动时建立&#xff0c;在系统关闭时消亡。 2.结…...

中国传媒网CEO徐晓艺荣膺第九届金鸥奖“2023年度最佳创新人物”殊荣

2023年是不平凡的一年,风云变幻。大国经济有韧性,离不开顶层设计、宏观政策的指挥,也离不开千百万求新求变的企业和企业家们的辛勤耕耘。在经历了三年疫情严峻考验的当下,中国号巨轮迎风搏浪心如磐石,无惧险阻屹立潮头,这不仅是中国红的底色,也是中国企业家的坚守和倔强。2023年…...

ElementUI Form:Switch 开关

ElementUI安装与使用指南 Switch 开关 点击下载learnelementuispringboot项目源码 效果图 el-switch.vue &#xff08;Switch 开关&#xff09;页面效果图 项目里el-switch.vue代码 <script> export default {name: el_switch,data() {return {value: true,value1: …...

通俗易懂理解注意力机制(Attention Mechanism)

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 大话注意力机制&#xff08;Attention Mechanism&#xff09; 注意力机制(Attention Mechanism) 深度学习中的注意力机制 注意力机制 二、注意力…...

git的分支的使用,创建分支,合并分支,删除分支,合并冲突,分支管理策略,bug分支,强制删除分支

GIT | 分支 文章目录 GIT | 分支创建分支合并分支删除分支合并冲突分支管理策略bug分支强制删除分支 创建分支 查看当前本地仓库中有哪些分支 git branchHEAD所指向的分支就是当前正在工作的分支 cat .git/HEAD创建一个分支 git branch dev创建好了&#xff0c;但是目前还是…...

【leetcode100-081到090】【动态规划】一维五题合集1

【爬楼梯】 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 思路&#xff1a; 【状态】 dp[i];//爬i级台阶有几种方法 【初始】 dp[0] 1;//爬0级1种&#xff08;不爬&#xff09;dp[1] 1;/…...

数据结构-顺序表详解专题

目录 顺序表 1.简单了解顺序表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 2.3typedef命名作用 3.动态顺序表的实现 SeqList.h SeqList.c test.c 顺序表 1.简单了解顺序表 顺序表是线性表的一种&#xff0c;线性表是在逻辑上是线性结构&#xff0c;在物理逻辑上并…...

对商业知识和思维的一些小体会

用途&#xff1a;个人学习笔录&#xff0c;欢迎指正 前言&#xff1a; 小生拙见&#xff0c;我认为商业知识和商业思维的理解对于每一个行业都有潜在的帮助&#xff0c;因为每个人的生活都离不开商业&#xff0c;生意、工作都是交换&#xff0c;用自身提供的价值换取薪酬。因此…...

【笔记】计算文件夹的大小

目标&#xff1a;遍历文件夹&#xff0c;计算文件夹下包含文件和文件夹的大小。将这些结果存入python自带的数据库。 用大模型帮我设计并实现。 Step1 创建一个测试用的目录结构 创建目录结构如下所示&#xff1a; TestDirectory/ │ ├── EmptyFolder/ │ ├── SmallF…...

机器学习_常见算法比较模型效果(LR、KNN、SVM、NB、DT、RF、XGB、LGB、CAT)

文章目录 KNNSVM朴素贝叶斯决策树随机森林 KNN “近朱者赤&#xff0c;近墨者黑”可以说是 KNN 的工作原理。 整个计算过程分为三步&#xff1a; 计算待分类物体与其他物体之间的距离&#xff1b;统计距离最近的 K 个邻居&#xff1b;对于 K 个最近的邻居&#xff0c;它们属于…...

外包干了8个月,技术退步明显...

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…...

opencv#41 轮廓检测

轮廓概念介绍 通常我们使用二值化的图像进行轮廓检测&#xff0c;对轮廓以外到内进行数字命名&#xff0c;如下图&#xff0c;最外面的轮廓命名为0&#xff0c;向内部进行扩展&#xff0c;遇到黑色白色相交区域&#xff0c;就是一个新的轮廓&#xff0c;然后依次对轮廓进行编号…...

Websocket基本用法

1.Websocket介绍 WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c;并进行双向数据传输。 应用场景&#xff1a; 视频弹幕网页聊天体育实况更新股票基金…...

node.js与express.js创建项目以及连接数据库

搭建项目 一、技术准备 node版本&#xff1a;16.16.0 二、安装node成功后&#xff0c;安装express,命令如下&#xff1a; npm install -g express 或者&#xff1a; npm install --locationglobal express 再安装express的命令工具&#xff1a; npm install --location…...