ABCDE*4=EDCBA
1:E为偶数,A为偶数,且4*A<10,那么A=2,E=8,且B*4<10,则B=1或B=2
2:E*4进3,则(D*4+3)%10=B,B=2不成立,B=1,则D=2,7
3:如果D=2,则C*4 = C,不合理,因此D=7
4:(C*4+3)%10= C 并且 (C*4+3)/10 >3, 则C=9
因此A B C D E只有一种组合 21978
参考:csdn
另一题:
/**
* chega
* 2013-1-6上午10:52:50
*/
/**
* 用1到8这八个自然数组成两个四位数(不可重复使用),其中一个四位数是另一个四位数的4倍,请问这两个四位数分别是……”
* JAVA实现,用最简单的代码和最有有效的代码
*/
package group;
public class Test1
{
private int count = 0;
public static void main(String[] args)
{
Test1 t = new Test1();
long start = System.currentTimeMillis();
long before = Runtime.getRuntime().freeMemory();
t.run();
long end = System.currentTimeMillis();
long after = Runtime.getRuntime().freeMemory();
System.out.println("time consumed: " + (end - start));
System.out.println("RAM consumed: " + (before - after)/1024+"K");
}
public void run()
{
// 最小的4位数是1234,由于最大的4位数*4不能大于8765,因此最大的4位数是2487(这里只考虑每个4位数内数字不重复)
for (int i = 1234; i <= 2487; i++)
{
this.validate(i);
}
System.out.println("total count: " + this.count);
}
private void validate(int i)
{
if (this.isLegalNumber(String.valueOf(i).concat(String.valueOf(i * 4))))
{
this.count++;
System.out.println(i + "\t" + i * 4);
}
}
private boolean isLegalNumber(String number)
{
if (number.contains("9") || number.contains("0"))
{
return false;
}
return this.isAllDigitUnique(number);
}
private boolean isAllDigitUnique(String number)
{
if (number.length() == 1)
{
return true;
}
for (int i = 1; i < number.length(); i++)
{
if (number.charAt(0) == number.charAt(i))
{
return false;
}
}
return this.isAllDigitUnique(number.substring(1));
}
}
分享到:
相关推荐
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的...
ABCDE*? = EDCBA 关于这个问题 网上也看了几个算法 但是都很浪费资源 这里给出一个优化的算法
福尔摩斯到某古堡探险,看到门上写着⼀个奇怪的算式: ABCDE * ? = EDCBA 他对华⽣说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华⽣:“我猜也是!” 于是,两⼈沉默了好久,还是没有算出合适的结果来。...
福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的...
4*ABCDE EDCBA,求ABCDE ?
有关系模式R(ABCDE),回答下面几个问题: (1)若A是R的候选码,具有函数依赖BC → DE,在 什么条件下 R是BCNF? (2)如果存在函数依赖A →B,BC →D,DE →A,找出R的所有码(要有步骤)。 (3)如果存在函数依赖A →B...
A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉
ABCDE五个人传球,由A开始第一次传球,经5次传球后传回到A的手上。其中A与B不会相互传球,C只会传给D,E不会传给C,共有多少种传法? 这里使用C语言,通过枚举类型,遍历所有可能,完成了所有可能性的输出!
1. R(ABCDE), F={AB→C,AC→E,C→B,E→C,D→C},ρ={ABC,AD,AE,BE,DE},求ρ的分解无损性 2. 关系模式R(U,F),其中U={W,X,Y,Z},F={WX→Y,W→X,X→Z,Y→W }。关系模式R的候选键是 (1) , (2) 是无损连接并保持...
一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是()。 [单选题] * A. edcba B. decba C. dceab(正确答案) D. abcde 2.若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i 个栈( i =1,2)...
1、(1) a*(-b+c) :ab-c+* (3) abcde/+*+ (4) AB∧C D∨∨ (7) xy+z*0=sab+c*:=sab*c*:=¥(注:¥表示if-then-else 运算) 2、 三元式 (1) (+ a, b) (2) (+ c, d) (3) (* (1), (2)) (4) (- (3), /) (5) (+ a, b) ...
答案: ABEG 8. 这段程序中的常量有:(多选) #define PI 3.14 void main() { int sum; sum = 10 + 15; printf("sum=%d\n",sum); printf("result is 25\n"); } 这段程序中常量有: A. 10 B. sum C. 15 D. 25...
和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移动,移动后的局面分别是: A B D E C A B CD E 为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局面分别表示为: ...
合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。 例如,当a=45,b=12时,调用该函数后,c=4152。 注意: 部分源程序存在文件PROG1.C中。数据文件IN....
关于字符串回文,把"abcde"打印成"edcba
A:edcba B:decba C:dceab D:abcde 参考选项:C 若已知一个栈的入栈序列是1,2,3,?,n,其输出序列为P1,P2,P3,?,Pn,若P1=n,则Pi为 ( )。 A:i B:n-i C:n-i+1 D:不确定 参考选项:C 如果只想得到1000个元素组成的...
c. 该程序要有顾客购票,查询班机起飞降落时间,班机订票情况等3个功能,并实现菜单选项 5、 用C++编写一个简单的行编辑器,每个结点保存一行文本,程序以E file开始,然后显示行数和提示符,如果输入I,后面...
4.若进栈序列为c, a,b,则通过入出栈操作可能得到的a,b,c的不同排列个数为( ) A.4 B.5 C.3 D.2 5.为查找某一特定单词在文本中出现的位置,可应用的串运算是( ) A.插入 B.删除 C.串联接 D.子串定位 7.三维数组A[4...
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依 次出栈,则元素出栈的顺序是( )。 A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA 正确答案:B 解析:栈按先进后出的原则组织数据,所以入栈最...