😭基础算法题🤣
算法题的意义不在于你是否全部都能实现,而是在于慢慢培养编程的逻辑思维.
学会站在某种编程语言的角度去思考这些题.本质上它和具体的编程语言是无关的.
如果没有语法基础的学生,不妨可以写写解题思路也是可以的
⭐️⭐️⭐️⭐️题
难度系数⭐️
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字.
123/10 = 12 count++ 12/10 = 1 count++ 1/10 = 0 count++
- 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
数字和它逆序得到的数字进行比较,如果为true,则是回文.
打印出所有的 “水仙花数 “
所谓 “水仙花数 “是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个 “水仙花数 “,因为153=1的三次方+5的三次方+3的三次方
一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。
例如6=1+2+3.编程找出1000以内的所有完数
🌙🌙🌙🌙题
难度系数⭐️⭐️
打印如下图形 - 空心菱形
感兴趣的,再去打印一个实心菱形
* * * * * * * * * * * * * * * *
输出[1~199]之间所有的质数,并且每打印7个换一行
package tech.aistar.day03.homework; /** * 本类用来演示: 输出[2~200]之间所有的质数,并且每打印7个换一行 * * @author: success * @date: 2021/7/20 8:33 上午 */ public class PrimeDemo { public static void main(String[] args) { //思路 //如何判断某个数是否为质/素数 //质数:只有1和它本身能够被它自己整除. // 17 -> [2,16] // n -> [2,n-1] //定义一个计数器 int count = 0; for (int n = 2; n < 200; n++) { //定义一个标记位 boolean flag = true; for (int j = 2; j <=Math.sqrt(n); j++) { if(n%j==0){ //不是质数 flag = false; break;//只要找到一个,打破它所在的当前循环 } } if(flag) {//是质数 System.out.print(n+"\t"); if(++count==7){ System.out.println(); count = 0; } } } } }
求某年某日的最大天数
求斐波那契数列第n个位置上的值 - 不允许使用递归算法
斐波那契数列如下:1 1 2 3 5 8 13 21 34 55 ...
设计一个程序,输出如下:比如传入数字10,打印结果如下.传入的数字代表输出的行数.
1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880 10!=3628800 输出最终结果: 1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=4037913
设计一个程序,输出如下
1*8+1= 9 12*8+2= 98 123*8+3= 987 1234*8+4= 9876 12345*8+5= 98765 123456*8+6= 987654 1234567*8+7= 9876543 12345678*8+8= 98765432 123456789*8+9= 987654321
☀️☀️☀️☀️题
给定一个数组,删除该数组中指定的数值.
比如:int[] arr = {1,2,1,2,3,4}; 需要删除的指定的数值是2,最后返回得{1,1,3,4},将该数组中所有的数字2全部删除
给定一个数组,写一个程序,随机打乱该数组中的值
数组去重,将数组中重复的数据去除,只保留一份
比如:int[] arr = {2,1,3,1,2,4} -> 去重之后,返回{2,1,3,4}
#👑 👑 👑 👑 题
将1~5之间的随机整数,存储到一个长度为15的一维数组中.写一段程序.
统计每个随机数在这个数组中出现的次数.并且根据出现的次数进行降序排列.
给定一个年份和月份,在idea控制台输出该日历,形式如下
相关api:java.util.Date和java.util.Calendar
请您输入year:>2021 请您输入month:>7 2021年7月 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17* 18 19 20 21 22 23 24 25 26 27 28 29 30 31