java作业11.18

第一题

从键盘输入一个整数, 编写方法判断它能否写成
4n+ 7m的形式 ,n,m均为整数且n>=0 m>=0;
比如4: 可以表示为 41 +70;
比如 19: 可以表示为 43 +71;

package Javahomework;
import java.util.Scanner;
public class housework1 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int a=input.nextInt();
        int m,n=0;
        int i=0;
        for (n=0;n<a;n++)
        {
            for(m=0;m<a;m++)
            {
                if(a==4*n+7*m)
                {System.out.println("yes");
                    System.out.printf("4*"+n+"+7*"+m);
                    i++;
                }
            }
        }
if(i==0)
{
    System.out.println("no");
}
    }
}

第二题

假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0)能满足形如: ab * cde = adb * ce
比如 36 * 495 = 396 * 45 = 17820
请列出所有这样的算式?

public class housework2 {
    public static void main(String[] args) {
        int a,b,c,d,e;
        for(a=1;a<=9;a++)
        {
            for(b=1;b<=9;b++)
            {
                for(c=1;c<=9;c++)
                {
                    for(d=1;d<=9;d++)
                    {
                        for(e=1;e<=9;e++)
                        {
                            if((a*10+b)*(c*100+d*10+e)==(a*100+d*10+b)*(c*10+e))
                            {
                                int m,n,p,q;
                                m=a*10+b;
                                n=c*100+d*10+e;
                                p=a*100+d*10+b;
                                q=c*10+e;
                                System.out.println(m+"*"+n+"="+p+"*"+q);
                            }
                        }
                    }
                }
            }
        }
    }
}

第三题

编写一个程序,输出2~1000之间的所有完全数。所谓完全数,是指这样的数,该数的各因子(除该数本身外)之和正好等于该数本身,例如:

       6=1+2+3
       28=1+2+4+7+14
public class housework3 {
     public static void main(String[] args) {
        int m,a,i;
         for(a=2;a<=1000;a++)
         {
             m=0;
             for(i=1;i<a;i++)
             {
                 if(a%i==0)
                 {
                     m+=i;
                 }

             }
             if(m==a)
             {
                 System.out.println(a);
             }
         }

     }
}

第四题

ABCDE * ? = EDCBA
ABCDE代表不同的数字,问号也代表某个数字
利用计算机的优势,把 ABCDE 所代表的数字列出来?

public class housework4 {
    public static void main(String[] args) {
        int a,b,c,d,e,f;
        for(a=1;a<=9;a++)
        {
            for(b=0;b<=9;b++)
            {
                for(c=0;c<=9;c++)
                {
                    for(d=0;d<=9;d++)
                    {
                        for(e=1;e<=9;e++)
                        {
                            for(f=0;f<=9;f++)
                            {
                                if((a*10000+b*1000+c*100+d*10+e)*f==e*10000+d*1000+c*100+b*10+a)
                                {
                                    int m,n;
                                    m=a*10000+b*1000+c*100+d*10+e;
                                    n=e*10000+d*1000+c*100+b*10+a;
                                    System.out.println(m+"*"+f+"="+n);
                                }
                            }
                        }
                    }
                }
            }
        }

    }
}

第五题

回文数字观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到所有的5位或6位的十进制回文数字,该数字的各个数位之和等于44。比如99899,499994。

public class housework5 {
    public static void main(String[] args) {
        int a,a1,a2,a3,a4,a5,a6;
        //五位数
        for(a=10000;a<=99999;a++)
        {
            a1=a/10000;
            a2=(a/1000)%10;
            a3=(a/100)%10;
            a4=(a/10)%10;
            a5=a%10;
            if(a1==a5&&a2==a4&& a1+a2+a3+a4+a5==44)
            {
                System.out.println(a);

            }

        }
        //六位数
        for(a=100000;a<=999999;a++)
        {
            a1=a/100000;
            a2=(a/10000)%10;
            a3=(a/1000)%10;
            a4=(a/100)%10;
            a5=(a/10)%10;
            a6=a%10;
            if(a1==a6&&a2==a5&&a3==a4&& a1+a2+a3+a4+a5+a6==44)
            {
                System.out.println(a);

            }

        }


    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值