三道英文数学题

问题描述:

三道英文数学题
1.each of a,b,c,d and e either always lies or is always truthful,and they know which each of them is.
a says b is a liar
b says that c is a liar
c says that d is a liar
d says that e is a liar
The largest possible number of liars among them can be______?
2.On her birthday in2007,mary 's age is equal to twice the sum of the digits of the year in which she was born,How many possible years are there in which she could have been born?
3.Hoe many two-digit numbers are equal to three times the product of their digits?
大致好像是明白,但就是中文的我可能也有困难呵呵

1.a,b,c,d,e中的每一个要么总是说假话要么总是说真话,他们知道他们各是什么样的人
a说b是说谎者
b说c是说谎者
c说d是说谎者
d说e是说谎者
他们间最多可能有几个说谎者?3个
分析:T;说真话;L:说假话
只有如下两种情况
a:T,b:L,c:T,d:L,e:T
a:L,b:T,c:L,d:T,e:L
所以最多有3个说谎者
2.在她2007年的生日,MARY的年龄等于她出生年份的各个数字之和的两倍,她出生的年份共有几个?4个
分析:她的年龄最多56岁(2*(1+9+9+9)),所以从1950试到2007,为了方便,遍了一段代码,语言是Visual Basic(2005)
Public Class Null '不限定包含于的窗体,所以定窗体名称为空(Null)
Dim private_year As Integer = 1950
Dim calculated_year As ListBox
Private Sub calculate()
Do
If 2007 - private_year = 2 * Val((private_year.ToString.Substring(0,1)) + Val(private_year.ToString.Substring(1,1)) + Val(private_year.ToString.Substring(2,1)) + Val(private_year.ToString.Substring(3,1))) Then '从If到Then是一行
calculated_year.Items.Add(private_year)
End If
private_year = private_year + 1
Loop Until private_year >= 2007
End Sub
End Class
得到的结果是1959,1965,1971,2001四个年份
3.一个两位数等于它各个数字之和的三倍,这样的数有几个?1个
分析:设十位数为x,个位数为y (x,y∈Z 1≤x≤9 0≤y≤9)
列出方程
10x + y = 3 * (x + y)
7x = 2y
这个方程只有 x = 2,y = 7 这一个解
所以这样的数只有一个,27