以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  用asp再解百个和尚吃百个馒头问题[求助]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=24260)


--  作者:zhineng28
--  发布时间:11/15/2005 9:28:00 AM

--  用asp再解百个和尚吃百个馒头问题[求助]
<%
Dim i,j
for i=1 to 100
    for j=1 to 100
   if i*4+j*1/4=100 and i+j=100    then
   response.write "有大和尚:"&i&"<br>"&"有小和尚:"&j
  end if
 next
next
%>
我相信刚开始学asp的人都会学过这个程序吧!------
“有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚?”
目前为止我只会用上面的方法做解决这个问题,我想问问大虾们还有没有其他的循环语句可以做这到题目呢?
--  作者:zhineng28
--  发布时间:11/16/2005 8:47:00 AM

--  
怎么没人顶呢?
--  作者:nihao87224
--  发布时间:5/10/2006 7:46:00 PM

--  
用C也可以写出新的来啊
--  作者:shier
--  发布时间:5/15/2006 1:06:00 PM

--  
由原题可知大和尚的数量大于等于小于等于25。可知小和尚大于等于75,而且由原题可知小和尚是4的整数倍,由于100是4的整数倍,所以大和尚也是4的整数倍。

设大和尚数量为i ,所以小和尚数量为 100-i
则 馒头数量为 i*4+(100-i)/4
所以原题转换为: i*4+(100-i)/4=100,解方程得 i=20。不需要任何循环语句 :)

即便需要循环语句,i的范围也可以限制为 4-24 step 4
<%
Dim i,j
for i=4 to 24 step 4
    '大和尚为i,小和尚我100-i,馒头数量为i*4+(100-i)/4=100,即
     if i*4+(100-i)/4=100 then '呵呵,其实直接就算出来i=20了 等价于 if i=20 then
    response.write &quot;有大和尚:&quot;&amp;i&amp;&quot;
&quot;&amp;&quot;有小和尚:&quot;&amp;j
   end if
  next
next
%>

循环体运行次数为6次。比100×100=10000次好多了。

以下是引用zhineng28在2005-11-15 9:28:00的发言:
<%
Dim i,j
for i=1 to 100
     for j=1 to 100
    if i*4+j*1/4=100 and i+j=100    then
    response.write &quot;有大和尚:&quot;&amp;i&amp;&quot;
&quot;&amp;&quot;有小和尚:&quot;&amp;j
   end if
  next
next
%>
我相信刚开始学asp的人都会学过这个程序吧!------
“有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚?”
目前为止我只会用上面的方法做解决这个问题,我想问问大虾们还有没有其他的循环语句可以做这到题目呢?


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms