|
1.指数计算问题
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死
,问每个月的兔子对数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....(斐波那契)
class AdditiveFor
{
public static void main(String[] ages)
{
int[] intar = new int[4];/* 月份*/
intar[0] = 1;
intar[1] = 1;
for (int i = 0; i < intar.length; i++)
{
if (i>1)
{
intar[i] = intar[i-1]+intar[i-2];
}
System.out.println((i+1)+"月"+"\t"+intar[i]+"只");
}
}
}
运行结果
1月 1只
2月 1只
3月 2只
4月 3只
2.指定范围包含的素数
判断101-200之间有多少个素数,并输出所有素数。
class AdditiveFor
{
public static void main(String[] ages)
{
int a = 200;
for (int j = 100;j <=a;j++)
{int flag = 0;
//在2到max范围,找到能把n整除的值
for (int i = 2; i < j; i++)
{
if (j%i==0)
{
flag = 1;
break;
}
}
if (flag ==0)
{
System.out.println(j+"是素数");
}
}
}
}
运行结果
101是素数
103是素数
107是素数
109是素数
113是素数
127是素数
131是素数
137是素数
139是素数
149是素数
151是素数
157是素数
163是素数
167是素数
173是素数
179是素数
181是素数
191是素数
193是素数
197是素数
199是素数
3.水仙花数
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
class car
{
public static void main(String[] args)
{
int a,b,c;
for(int i = 100;i<1000;i++)
{
c = i%10;
b = (i/10)%10;
a = i/100;
if (Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
{
System.out.println(""+i);
}
}
}
}
4.分解质因数
将一个正整数分解质因数。例如:输入90,打印出90=233*5。
import java.util.Scanner;
class num
{
public static void main(String[] args)
{
System.out.println("请输入数字");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for (int k = 2;k<num;k++)
{
while (k!=num)
{
if (num%k==0)
{
System.out.print(k+"*");
num = num/k;
}else
{
break;
}
}
}
System.out.print(num);
}
}
请输入数字
12
2*2*3
5.条件运算符使用
利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
import java.util.Scanner;
class fraction
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的分数");
double fenshu = sc.nextDouble();
if (fenshu>=90)
{
System.out.println(fenshu +"A");
}else if (fenshu>=60&&fenshu<90)
{
System.out.println(fenshu+"B");
}else if (fenshu<60)
{
System.out.println(fenshu+"C");
}else if (fenshu>100&&fenshu<0)
{
System.out.println("输入无效");
}
}
}
请输入你的分数
12
12.0C
输入两个正整数m和n,求其最大公约数和最小公倍数。
import java.util.Scanner;
class number
{
public static void main(String[] args)
{
System.out.println("输入两个数字");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int max=0,min= 0;//定义最大公约数、最小公倍数
if (a>b)
{int t = a;
a = b;
b=t;
}
for (int i=1;i<=a;i++)
{
if (a%i==0&&b%i==0)
max = i;
}
min = a*b/max;
System.out.println("最大公约数为:"+max+",最小公倍数为:"+min);
}
}
输入两个数字
72 64
最大公约数为:8,最小公倍数为:576
7.统计字符串中类型个数
import java.util.Scanner;
class character {
public static void main(String[] args) {
System.out.print("请输入一串字符:");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();//将一行字符转化为字符串
scan.close();
count(str);
}
private static void count(String str)
{
String E1 = "[\u4e00-\u9fa5]";//汉字
String E2 = "";
String E3 = "[0-9]";
String E4 = "\\s";//空格
int countChinese = 0;
int countLetter = 0;
int countNumber = 0;
int countSpace = 0;
int countOther = 0;
char arry[] = str.toCharArray();//将字符串转化为字符数组
String[] array_String = new String;//汉字只能作为字符串处理
for (int i = 0;i<arry.length;i++)
array_String[i] = String.valueOf(arry[i]);
for(String s:array_String){
if(s.matches(E1))
countChinese++;
else if(s.matches(E2))
countLetter++;
else if(s.matches(E3))
countNumber++;
else if(s.matches(E4))
countSpace++;
else
countOther++;
}
System.out.println("输入的汉字个数:"+countChinese);
System.out.println("输入的字母个数:"+countLetter);
System.out.println("输入的数字个数:"+countNumber);
System.out.println("输入的空格个数:"+countSpace);
System.out.println("输入的其它字符个数:"+countSpace);
}
}
8.求s=a+aa+aaa+aaaa+aa…a的值
import java.util.Scanner;
class Car{
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
int a=0,n=0,b=0;
System.out.println("输入a:");
a=reader.nextInt();
b=a;
System.out.println("输入次数n:");
n=reader.nextInt();
int sum=0;//累加器
for(int i=0;i<n;i++)
{
sum =sum +a;
a=a*10;
a = a+b;
}
System.out.println("sum="+sum);
}
}
输入a:
1
输入次数n:
3
sum=123
9.指定范围的完数
public class Prog9{
public static void main(String[] args){
int n = 10000;
compNumber(n);
}
//求完数
private static void compNumber(int n){
int count = 0;
System.out.println(n+"以内的完数:");
for (int i = 1; i <= 10000; i++) {
int temp = 0;// 定义因子之和变量
for (int n = 1; n < i / 2 + 1; n++) {
if (i % n == 0) {
temp += n;// 能被整除的除数则被加到temp中
}
}
if (temp == i) {// 如果因子之和与原数相等的话,说明是完数
System.out.println(i + " ");// 输出完数
}
}
}
}
10.反指数计算
一个球从80米高度自由落下,每次落地后反弹的高度为原高度的一半,第六次落地共经过多少米?第六次反弹多高?
public class Degrees
{
public static void main(String[] ages)
{
double sum=80,
double height=80;
for(int i=1;i<=6;i++)//计算第一次落地到第6次落地再弹起小球经过多少米
{
height=height/2;
sum=sum+height*2;
}//循环结束,小球第6次落地
System.out.println("第6次落地时的高度是:"+height+"\n小球共经过:"+sum+"米");
}
}
————————————————
原文链接:https://blog.csdn.net/Lin_bai_/article/details/109215998
程序猿的技术大观园:www.javathinker.net
|
|