同步操作将从 dearHaoGeGe/Ebooks 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
程序分析:
质数(prime number)又称素数,有无限个。
质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
程序代码
public class Demo13 {
public static void main(String args[]) {
int sum, i;
for (sum = 2; sum <= 100; sum++) {
for (i = 2; i <= sum / 2; i++) {
if (sum % i == 0)
break;
}
if (i > sum / 2)
System.out.print(sum + " ");
}
System.out.println("都是素数");
}
}
或
public class Demo131 {
public static void main(String args[]) {
int w = 1;
for (int i = 2; i <= 100; i++) {
for (int j = 2; j < i; j++) {
w = i % j;
if (w == 0)
break;
}
if (w != 0)
System.out.print(i + " ");
}
System.out.println("都是素数");
}
}
运行结果
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 都是素数
程序分析:
根据不同队员进行对比,如果不符合条件,遍历另一队员进行判断。
程序代码
public class Demo07 {
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]);
}
}
}
}
或
public class Demo071 {
public String a, b, c;
public Demo071(String a, String b, String c) {
this.a = a;
this.b = b;
this.c = c;
}
public static void main(String[] args) {
Demo071 arr_a = new Demo071("a", "b", "c");
String[] b = { "x", "y", "z" };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
Demo071 arr_b = new Demo071(b[i], b[j], b[k]);
if (!arr_b.a.equals(arr_b.b) & !arr_b.b.equals(arr_b.c)
& !arr_b.c.equals(arr_b.a) & !arr_b.a.equals("x")
& !arr_b.c.equals("x") & !arr_b.c.equals("z")) {
System.out.println(arr_a.a + " vs " + arr_b.a);
System.out.println(arr_a.b + " vs " + arr_b.b);
System.out.println(arr_a.c + " vs " + arr_b.c);
}
}
}
}
}
}
运行结果
a vs z
b vs x
c vs y
斐波那契数列(Fibonacci Sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711…… 在数学上,斐波那契数列以如下被以递推的方法定义:
F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
斐波那契数列之所以又称黄金分割数列,是因为随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值 0.6180339887……
斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711……
斐波那契数列的特征:第三项开始(含第三项)它的值等于前两项之和。
程序分析:
先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。
*
***
*****
*******
*****
***
*
程序代码
public class Demo08 {
public static void main (String[]args){
int lay = 7;
for(int m = 1; m <=(lay+1)/2; m++){
for(int b = 1; b <=(lay+1)/2-m ; b++)
System.out.print(" ");
for(int c = 1; c <= m*2-1; c++)
System.out.print("*");
System.out.println();
}
for(int d =(lay+1)/2-1;d >= 1; d --){
for(int b = 1; b <= (lay+1)/2-d; b++)
System.out.print(" ");
for(int c = (lay+1)/2-d; c <=(lay+1)/2-2+d; c ++)
System.out.print("*");
System.out.println();
}
}
}
运行结果
*
***
*****
*******
*****
***
*
程序分析:
利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
程序代码
public class Demo09 {
public static int getAge(int n) {
if (n == 1) {
return 10;
}
return 2 + getAge(n - 1);
}
public static void main(String[] args) {
System.out.println("第五个的年龄为" + getAge(5));
}
}
运行结果
第五个的年龄为18
程序代码
package com.jingxuan.system;
public class Sphere {
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("第10次落地时,共经过" +s+ "米");
System.out.println("第10次反弹" +t+ "米");
}
}
执行结果
第10次落地时,共经过199.8046875米
第10次反弹0.09765625米
程序分析:
对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成:
1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
2)如果n > i,但n能被i整除,则应打印出i的值,并用n除以i的商,作为新的正整数你,重复执行第一步。
3)如果n不能被i整除,则用i+1作为i的值,重复执行第一步。
程序代码
import java.util.Scanner;
public class Demo03 {
private static Scanner in;
public static void fenjie(int n) {
for (int i = 2; i <= n; i++) {
if (n % i == 0) {
System.out.print(i);
if(n!=i){
System.out.print("*");
}
fenjie(n/i);
}
}
System.exit(0);
}
public static void main(String[] args) {
in = new Scanner(System.in);
System.out.println("请输入N的值:");
int n = in.nextInt();
System.out.print( "分解质因数:" + n +"=");
fenjie(n);
}
}
运行结果
请输入N的值:
100
分解质因数:100=2*2*5*5
程序分析:
利用正则表达式判断是否输入信息为数字,通过调用字符串的封装源码方法,进行逆序排序。
程序代码
import java.util.Scanner;
public class Demo10 {
private static Scanner in;
public static void main(String[] args) {
System.out.println("请输入数字:");
in = new Scanner(System.in);
String str = in.next();
if (str.matches("\\d+")) {
System.out.print("输入的是" + str.length() + "位数");
StringBuffer buf = new StringBuffer(str);
System.out.println("逆序打印:" + buf.reverse());
}
}
}
运行结果
请输入数字:
871236
输入的是6位数,逆序打印:632178
假设三个字符串s1、s2、s3,验证s3是否是由s1和s2交错组成的。注意是s1与s2交错组成s2字符串。
两个字符串s和t交错的定义与过程如下,其中每个字符串都会被分割成若干非空子字符串:
s=s1+s2+...+sn
t=t1+t2+...+tm
|n-m|<=1
交错是s1+t1+s2+t2+s3+t3+...或者t1+s1+t2+s2+t3+s3+...
提示:a+b意味着字符串a和b连接。
示例1
输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出: true
示例2
输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出: false
程序代码
class Solution {
public static void main(String[] args) {
String s1 = "ab", s2 = "cd", s3 = "acbd";
System.out.println(isInterleave(s1, s2, s3));
}
public static boolean isInterleave(String s1, String s2, String s3) {
if ((s1.length() + s2.length()) != s3.length())
return false;
boolean[][] dp = new boolean[s2.length() + 1][s1.length() + 1];
dp[0][0] = true;
for (int i = 1; i <= s1.length(); i++) {
dp[0][i] = dp[0][i - 1] && s1.charAt(i - 1) == s3.charAt(i - 1) ? true : false;
}
for (int i = 1; i <= s2.length(); i++) {
dp[i][0] = dp[i - 1][0] && s2.charAt(i - 1) == s3.charAt(i - 1) ? true : false;
}
for (int i = 1; i < dp.length; i++) {
for (int j = 1; j < dp[0].length; j++) {
dp[i][j] = (dp[i][j - 1] && s1.charAt(j - 1) == s3.charAt(i + j - 1))
|| (dp[i - 1][j] && s2.charAt(i - 1) == s3.charAt(i + j - 1));
}
}
return dp[s2.length()][s1.length()];
}
}
运行结果
true
所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方+5的三次方+3的三次方。
程序分析:
利用for循环控制100-999个数,每个数分解出个位,十位,百位。
程序代码
public class Demo02 {
public static void main(String args[]) {
for (int i = 100; i <= 999; i++)
if (shuixianhua(i) == true)
System.out.println(i + " ");
}
public static 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;
}
}
运行结果
153 370 371 407
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。