java周测题(1)

这篇博客包含10道Java编程题目,涉及完数判断、几何问题、数字组合、完全平方数计算、日期判断、图形打印等算法。通过解决这些问题,展示了Java在算法实现上的应用。
摘要由CSDN通过智能技术生成
  1. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3
    编程找出1000以内的所有完数。
public class Demo1
{
   
    public static void main(String[] args)
    {
   
        //求1000以内的所有完数
        int sum=0;    //统计完数个数
        for(int i=1;i<=1000;i++)
        {
   
            int x=0;
            for(int a=1;a<i;a++)
            {
   
                if(i%a==0)    //求i的因子
                {
   
                    x+=a;      //因子加和
                }
            }
            if(x==i)          //判断因子加和是否和i相等
            {
   
                System.out.println(i);
                sum++;
            }
        }
        System.out.println(sum);
    }
}

运行结果:

第一题
2. 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,
求它在第10次落地时,共经过多少米?第10次反弹多高?

public class Demo2
{
   
    public static void main(String[] args)
    {
   
    //小球下落问题
    double h=100;
    double sum=0;
    for(int i=1;i<=10;i++)
    {
   
        sum+=h;
        h=h*0.5;
    }
        System.out.println(100+sum);
        System.out.println(h);
}
}

运行结果:

第二题
3. 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

public class Demo3
{
   
    public static void main(String[] args)
    {
   
        //三位数
        int i=0;
        int sum=0;    //统计个数
        for(int a=1;a<=4;a++)
        {
   
            for(int b=1;b<=4;b++)
            {
   
                for(int c=1;c<=4;c++)
                {
   
                    if(a!=b&&a!=c&&b!=c)
                    {
   
                        i=a*100+b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值