激光多普勒:三条顶级编程算法问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/07 13:13:34
1.李白无事街上走,提壶去买酒。
遇店加一倍,见花喝一斗,
五遇花和店,喝光壶中酒,
试问李白壶中原有多少酒?

2.某人用一个7公斤和一个11公斤的两个盛水器到池水边取水,如何量水才能只取回2公斤的水?

3、验证:任何一个大偶数是两个素数之和。这就是著名的哥德巴赫猜想命题。请将6---100之间的偶数表示为两个素数之和(如6=3+3,8=3+5,10=3+7…)

问题1 ((((X*2-1)*2-1)*2-1)*2-1)*2-1=0
问题2 A(7公斤) B(11公斤)
1:A空 B空
2:A装满水
3:A全倒进B 此时A(0) B(7)
4:A装满水
5:A慢倒进B 直到B满水 清空B 此时A(3) B(0)
6:A剩水全倒进B 此时A(0) B(3)
7:A装满水
8:A全倒进B 此时A(0) B(10)
9:A装满水
10:A慢倒进B 直到B满水 清空B 此时A(6) B(0)
11:A剩水全倒进B 此时A(0) B(6)
11:A装满水
12:A慢倒进B 直到B满水 此时A(2) B(11)

第三个

public List<int> 素数数组=new List<int>();
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 2; i < 100; i++)
{
if (素数判定(i))
{
素数数组.Add(i);
}
}
string 结果文本 = "";
for (int i = 6; i < 100; i += 2)
{
结果文本+=分解合数(i)+"\r\n";
}
textBox1.Text = 结果文本;
}
private bool 素数判定(int 准素数)
{
for(int i=2;i<准素数;i++)
{
if (准素数 % i == 0)
{
return false;
}
}
return true;
}
private string 分解合数(int 合数)
{
for (int i = 1; i < 素数数组.Count; i ++)
{
int 差=合数 - 素数数组[i];
for (int j = 0; j < 素数数组.Count; j++)
{
if (素数数组[j] == 差)
{
return 合数.ToString()+"="+素数数组[i].ToString()+"+" + 素数数组[j].ToString();
}
}
}
return 合数.ToString() + "无法分解";
}
6=3+3
8=3+5
10=3+7
12=5+7
14=3+11
16=3+13
18=5+13
20=3+17
22=3+19
24=5+19
26=3+23
28=5+23
30=7+23
32=3+29
34=3+31
36=5+31
38=7+31
40=3+37
42=5+37
44=3+41
46=3+43
48=5+43
50=3+47
52=5+47
54=7+47
56=3+53
58=5+53
60=7+53
62=3+59
64=3+61
66=5+61
68=7+61
70=3+67
72=5+67
74=3+71
76=3+73
78=5+73
80=7+73
82=3+79
84=5+79
86=3+83
88=5+83
90=7+83
92=3+89
94=5+89
96=7+89
98=19+79

话说,这是要用编程解决的说。