50道java基础编程(6~10)
来源:互联网 发布:安卓c语言编程工具 编辑:程序博客网 时间:2024/06/10 15:18
【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
程序分析:利用辗除法。
暴力求解发:
public class IntMaxGyMinGb {
/**
* @param args
* 最大公约数:两个数的最小约数之积
* 最小公倍数:两个数的最小约数与最小余数之积a
*/
//最大公约数
public static int f1(int num1,int num2)
{
//假设最大公约数是i
int i;
i = num1>num2?num2:num1;
for(; i>=1;i--){
if(num1 % i == 0&& num2 % i == 0){
break;
}
}
return i;
}
//最小公倍数
public static int f2(int num1,int num2)
{
//假设最小公倍数是i
int i;
for(i =num1>num2?num1:num2; i<= num1*num2; i++)
{
if(i % num2 == 0&& i % num1 == 0){
break;
}
}
return i;
}
public static void main(String[] args) {
int num1 = 12;
int num2 = 18;
//最大公约数
System.out.println(num1+"与"+num2+"的最大公约数是:"+f1(12,18));
//最小公倍数胡
System.out.println(num1+"与"+num2+"的最小公倍数是:"+f2(12,18));
}
}
【程序7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while语句,条件为输入的字符不为'\n'.
正在打脑壳中……
【程序8】
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
程序分析:关键是计算出每一项的值。
import java.util.Scanner;
public class Getaaaa {
/**
* 样例:求和
* 2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
*/
public static void main(String[] args) {
Scanner sc = newScanner(System.in);
//数字
System.out.println("请输入需要重复相加的数字:");
int num =sc.nextInt();
//重复数字
int num1 = 0;
System.out.println("请输入需要重复的长度:");
//数字长度
int length =sc.nextInt();
//保存每项重复数字
int[] sum =new int[length];
//相加结果
int result = 0;
for(int i=0; i<length;i++)
{
num1 = num1*10+num;
sum[i] = num1;
// System.out.println(sum[i]);
result += sum[i];
}
【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
public class Wanshu {
/*
* 一个数的因子:
* 比如28
*28=1*28
*28=2*14
*28=4*7
* 除了本身以外的可以整除的数
* 所以28的因子有
* 1 24 7 14
*/
public static void main(String[] args) {
int num_length =10000;
System.out.println(num_length+"内的完数:");
//其实从1~10000(包含10000)
for(int i=1; i<num_length+1; i++)
{
int sum = 0;
//j<i/2+1 折半算法 当j=i+1 的时候就退出循环没必要将i都遍历完
for(int j=1; j<i/2+1; j++)
{
//判断最小约数
if(i % j == 0){
sum += j;
if(sum == i){
System.out.print(sum+"\t");
}
}
}
}
}
}
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
public class BallBounce {
/**
* @param args
*/
public static void main(String[] args) {
//开始100m 反弹十次 求经过了多少米?第十次谈了多高?
//第十次谈了多高 =连续十次beginHeight/2
//经过了多少米 = beginHeight+每次beginHeight/2
f(100,10);
}
/**
* 需要注意的是最终球经过的距离要加上最初的高度100m
* @param ballHeight球的高度
* @param count 反弹的次数
*/
public static void f(double ballHeight,int count){
double ballLong = 0;//球共经过的距离
for(int i=0; i<count; i++)//循环的次数就是反弹的次数
{
ballLong += ballHeight;
ballHeight /= 2;
}
System.out.println("最后一次弹起的高度为"+ballHeight+"m\n在此期间求一共经过了"+(ballLong+100)+"m");
}
}
- 50道java基础编程(6~10)
- 50道java基础编程(1~5)
- JAVA基础编程练习题--50道
- JAVA基础编程练习题--50道
- 50道Java编程基础题
- 50道JAVA基础编程练习题
- 50道JAVA基础编程练习题
- 50道JAVA基础编程练习题
- JAVA基础编程50道,值得收藏
- 50道Java基础编程练习题
- 50 道 Java 基础编程练习题
- 50道JAVA基础编程练习题
- 50道JAVA基础编程练习题(1)
- 50道JAVA基础编程练习题
- 转载:JAVA基础编程练习题--50道
- JAVA基础编程50题(4-6题)详解
- JAVA基础编程50题(10-12题)详解
- 【编程题】Java基础测试四(10道)
- 笨办法学python,前22练习总结
- opencv3.3+dnn+caffe深度学习来实现图片的分类识别
- 常见的五类排序算法图解和实现(选择类:简单选择排序,锦标赛排序,树形选择排序,堆排序)
- NIO
- 浅谈JavaScript中的原型prototype
- 50道java基础编程(6~10)
- Spark的数据本地化
- 学习人工智能需要哪些必备的数学基础?
- 数据结构---图(思维导图)
- 面向对象之this 和static
- 基于Nginx本地Yum仓库的搭建
- 在树莓派 上 搭建 aria2+webui 实现远程下载
- hdu 2844 coins 多重背包
- ECharts的自适应位置