第一题
从键盘输入一个整数, 编写方法判断它能否写成
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);
}
}
}
}