你不一定会的宝宝级数学题
在新浪网发现一道数学题。。
思考半天,发现自己还不如宝宝。最后写了几行代码,计算机1秒内就算出结果。。科学啊
关系式:“红花映绿叶×春=叶绿映花红”
答题要求:请试用“0到9”的6个数字,分别代表“红,花,映,绿,叶以及春”这几个字,并且数字不能重复使用。使得关系式能够成立。
把下面代码Ctrl+C/V到VS2008,按下那个绿色小三角,即可看到答案~
1
using System;
2
3
namespace ConsoleApplication1
4
{
5
class Program
6
{
7
static void Main(string[] args)
8
{
9
for (int it = 12345; it < 54321; it++)
10
{
11
if (IsSame(it.ToString()))
12
{
13
for (int m = 2; m < 9; m++)
14
{
15
if (IsIn(it, m))
16
{
17
if (it.ToString().Equals(Reverse((it * m).ToString())))
18
{
19
Console.WriteLine(it);
20
Console.WriteLine(m);
21
}
22
}
23
}
24
}
25
}
26
Console.ReadKey();
27
}
28
//
29
static string Reverse(string original)
30
{
31
char[] arr = original.ToCharArray();
32
Array.Reverse(arr);
33
return new string(arr);
34
}
35
//test whether have the same number
36
static bool IsSame(string aString)
37
{
38
char[] arr=aString.ToCharArray();
39
for (int i = 0; i < aString.Length-2; i++)
40
{
41
if (arr[i] == arr[i + 1])
42
return false;
43
}
44
return true;
45
}
46
//test whether in the int
47
static bool IsIn(int aInt,int aM)
48
{
49
string theS = aInt.ToString();
50
if(theS.IndexOf(aM.ToString())==-1)
51
return true;
52
else
53
return false;
54
}
55
56
}
57
}
58

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58
