博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 算法(二)
阅读量:5863 次
发布时间:2019-06-19

本文共 2131 字,大约阅读时间需要 7 分钟。

【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3。编程找出1000以内的所有完数

//第一种

public class A09 {
public static void main(String[] args) {
int s;
for (int i = 1; i <= 1000; i++) {
s = 0;
for (int j = 1; j < i; j++)
if (i % j == 0)
s = s + j;
if (s == i)
System.out.print(i + " " );
}
System.out.println();
}

}

//第二种:

public class A08{
public static void main(String[] args) {
int i,j,sum;
for(i=1;i<1000;i++)
{
sum = 0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
System.out.print(i+" its factors are: ");
for(j=1;j<=i/2;j++)
{
if(i%j==0)
System.out.print(j+", ");
}
System.out.println();
}
}
}
}

 

【程序10】 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,

共经过多少米?第10次反弹多高?

public class A10 {

public static void main(String[] args) {
double s = 0;
double h = 100;
for (int i = 1; i <= 10; i++) {
s += h*1.5;
h = h/2;
}
System.out.println("经过路程:"+s);
System.out.println("反弹高度:"+h);
}
}

【程序11】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

public class A11 {

public static void main(String[] args) {

int count = 0;
for (int i = 1; i <= 4; i++)
for (int j = 1; j <= 4; j++)
for (int k = 1; k <= 4; k++)
if (i != j && j != k && i != k) {
count += 1;
System.out.println(i*100 + j*10 + k);
}
System.out.println("共" + count + "个三位数");
}
}

【程序12】 题目:输出9*9口诀乘法表

public class A12{

public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++)
System.out.print(i + "*" + j + "=" + (i*j) + "\t");
System.out.println();
}
}
}

【程序13】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,

又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩

下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

 

public class A13{

public static void main(String[] args) {
int sum = 1;
for (int i = 0; i < 9; i++) {
sum = (sum + 1) * 2;
}
System.out.println("第一天共摘"+sum);
}
}

【程序14】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和

public class A14 {

public static void main(String[] args) {
float a = 1.0f;
float b = 1.0f;
float temp;
float sum = 0f;
for (int i = 0; i < 20; i++) {
temp = a;
a = b;
b = b + temp;
System.out.println((int) b + "/" + (int) a);
sum += b / a;
}
System.out.println("前二十项和为"+sum);
}
}

 

转载于:https://www.cnblogs.com/Tom-shushu/p/9029786.html

你可能感兴趣的文章
apache虚拟主机搭建及数据备份技术上机实战(学生分享)
查看>>
Exchange 2013部署系列之(十)信息权限保护RMS和Exchange 2013的整合
查看>>
在iPad上使用Office 365
查看>>
人生与算法
查看>>
Linux基础:linux网络接口
查看>>
软件测试员—-你的路在哪里--2
查看>>
微软公布Win10正式版功能对比表,哪个版本适合你?
查看>>
Outlook 2013配置
查看>>
YII2 - Yii 2 控制器不能包含大写字母的Bug
查看>>
impdp问题笔录
查看>>
[jQuery] DOM操作
查看>>
网站提速-缓存技术(4)
查看>>
服务器架构之性能扩展-第八章(9)
查看>>
Windows Server 2016-管理站点复制(二)
查看>>
推荐几款常用在线代码转换工具
查看>>
浅谈Redis服务的集中监控
查看>>
平台类网站为非星级酒店带来营销新机遇
查看>>
SIEM期待实时安全分析
查看>>
详解Spring Security进阶身份认证之UserDetailsService(附源码)
查看>>
那些年,你所经历的运维
查看>>