求一道数学题的编程思路及详细程序

来源:百度知道 编辑:UC知道 时间:2024/05/10 06:52:41
这个题是这样的

两数相加(或相减)的结果为一个三位数,但是这相加的两数需要满足条件:

相加(相减的)两数个,十,百位数相加的和在一个限定的范围内(如9-22). [首位为0,即其中一个数为两位数的情况也要考虑]

是单个的两个数字的各自的个十百位数相加的范围
如468+357=825
468中个十百位分别为4/6/8,相加为18
357中个十百位分别为3/5/7,相加为15
均满足条件(9-22)

解题思路:

假设和为825

为能清楚些
让a=xyz
b=ijk
因为
9<x+y+z<22
9<i+j+k<22
所以
18<x+y+z+i+j+k<44
为后面讨论方便,令x+y+z+i+j+k=s
所以18<s<44
先看加法:
a+b=825
所以
有下面几种情况:
1.
z+k=5
y+j=2
x+i=8
s=15不合题意
2.
z+k=5
y+j=12
x+i=7
s=24
3.
z+k=15
y+j=1
x+i=8
s=24
4.
z+k=15
y+j=11
x+i=7
s=33

所以只有2.3.4.三种情况
现只讨论第2种情况:
如果x,y,z准取0,那么z的范围是0<=z<=5(k同)(1)
同理0<=y(j)<=12,(2)
0<=x(i)<=7,(3)
其中原题中
9<x+y+z<22
这里面还有一个条件
就是xyz组成的最大数是993,最小数是18
所以a,

我在JS中看到这样一个语句
document.getElementById("img_switch").curstatus = "show";

其中:img_switch为 td 的id 我不明白的是curstatus 是什么意思 呀??请高手指点!!!谢谢

icestar911兄,
我来了。可是你出的题目要用VB做啊,兄弟爱莫啊。
我大学时学的是C PLUS晕了。
你有什么急用啊,我有同学编程很厉害。
给我发纸条吼。

1:k是有多少种结果198既是k的值

k = 0
For i = 0 To 999
For j = 0 To 999
m = CInt(Mid(CStr(i), 1, 1)) + CInt(Mid(CStr(i), 2, 1)) + CInt(Mid(CStr(i), 3, 1))
n = CInt(Mid(CStr(j), 1, 1)) + CInt(Mid(CStr(j), 2, 1)) + CInt(Mid(CStr(j), 3, 1))
If m >= 9 And m <= 22 And n >= 9 And n <= 22 And i + j = C Then
k = k + 1
Debug.Print "(" & k & ")" & i & "+" & j & "=" & i + j
End If
Next j
Next i

程序的思想是穷举;
这是很多解决这类问题的方法

不知你在说什么。。。。。。。。。。。

别听他瞎说!!!!!!!