delphi解数学题,自认为逻辑思维超强的富翁请进! ( 积分: 50 )

  • 主题发起人 主题发起人 gigi788
  • 开始时间 开始时间
dingbaosheng 很正确,楼主应该仔细审题。
首先解决第二题:
易错点:
1.(有4个学生) 这4个人是不同的对象
2.(3个不同车间) 这3个也是不同的对象
 
半桶水素质也好过楼主,高手当然不會說三道四,他们是不屑回答你这类找抽贴子的;
你是04年注册的大富翁ID, 你看看你发过的贴子,好歹你也在这里学习了2年多了,
一点提问的艺术都没有,建议你发贴子前,多看看这个贴子:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1018713
真不知道你到这里来是学习的还是炫耀、不劳而获骗知识的,年轻人做人要厚道。
 
你懂不懂禮貌的,動不動就找抽找打,好像個流氓一樣.你老爸沒教你做人的道理,出來社會也該學到呀.枉你還自稱老富翁.我說了什麽話不厚道.就你說得歪理就全對了?
 
排列组合的数学题,和Delphi没啥必然联系吧。
估计高考的学生大多都会。
 
其实排列组合这门学科才是找抽的,教育部门把这个没用的东西强迫中学生学更是找抽。
直到目前,我在实际生活中还没用到过。而且它动不动就研究什么有多少种可能。
搞计算机的只研究怎样组合,而不关心有多少种。
 
to Passion:
請你再看一次題目.編程來解決,怎麽跟delphi沒關係?
 
概率问题,你可以查一下数学分析这样的书.很好找到
 
楼主既然连简单的排列组合都不会,怎么简单的题目所谓的标准答案都可以给错,还学什么 Pascal,算了吧,回家学学基础学科吧。最好把高等数学也学一下,呵呵。否则,逻辑思维都没有跟上还学什么编程。

楼主要答案吗?我用C语言写给你,Pascal 你自己翻译吧。

第二题:
代码:
#include <iostream>

using namespace std;

void main(void)
{
	int room;
	int place[3][2];
	int cnt=0;
	int i, j, k, tmp;
	bool next;
	
	cout<<"Shop 1/tShop 2/tShop 3"<<endl;
	cout<<"----------------------------"<<endl;
	
	for (i=tmp=0, next=false; i<=80; tmp=++i, next=false)
	{
		for (j=0; j<=2; j++)
			for (k=0; k<=2; k++)
				place[j][k]=-1;
		
		for (j=0; j<=3; j++)
		{
			room=tmp%3;
			tmp/=3;

			if (place[room][0]==-1) 
				place[room][0]=j;
			else if (place[room][1]==-1)
				place[room][1]=j;
			else
			{
				next=true;
				break;
			}
		}

		if (next) continue;

		if (place[0][0]==-1||place[1][0]==-1||place[2][0]==-1) 
			continue;
		
		for (j=0; j<=2; j++)
			if (place[j][0]>place[j][1]&&place[j][1]!=-1)
			{
				next=true;
				break;
			}

		if (next) continue;

		for (j=k=0; j<=2; j++, k=0)
		{
			while (k<2&&place[j][k]!=-1)
				cout<<place[j][k++];
			cout<<'/t';
		}
		
		cout<<endl;
		cnt++;
	}

	cout<<"----------------------------"<<endl;
	cout<<"Total Arrangements: "<<cnt<<endl;

}
 
结果:
代码:
Shop 1  Shop 2  Shop 3
----------------------------
23      1       0
23      0       1
13      2       0
3       12      0
03      2       1
3       02      1
3       2       01
13      0       2
03      1       2
3       01      2
3       1       02
3       0       12
12      3       0
2       13      0
02      3       1
2       03      1
2       3       01
1       23      0
0       23      1
01      3       2
1       03      2
1       3       02
0       13      2
0       3       12
12      0       3
02      1       3
2       01      3
2       1       03
2       0       13
01      2       3
1       02      3
1       2       03
0       12      3
0       2       13
1       0       23
0       1       23
----------------------------
Total Arrangements: 36
本程序在 Microsoft Visual C++ 6.0 下运行通过
 
第一题楼主做对了,我就不写了,第三题的答案是 90。下面使用 Visual Basic 6.0 来编程,楼主注意了,在窗体上要创建一个 TextBox,并设置 MultiLine = True。

代码:
Option Explicit
Option Base 1

Private Sub Form_Load()
  Dim cClass(3) As Collection
  Dim i As Long
  Dim j As Long
  Dim k As Long
  Dim tmp As Long
  Dim cnt As Long
  
  For i = 0 To 3 ^ 6 - 1
    ' 初始化 Collection 对象
    For j = LBound(cClass) To UBound(cClass)
      Set cClass(j) = New VBA.Collection
    Next j
    
    ' 看看那个到那个班
    tmp = i
    
    For j = 1 To 6
      k = tmp Mod 3 + 1
      tmp = CLng(tmp / 3)
      cClass(k).Add j
    Next j
    
    ' 看看是否符合条件
    For j = LBound(cClass) To UBound(cClass)
      If cClass(j).Count <> 2 Then GoTo NextLoopLine
      If cClass(j).Item(1) > cClass(j).Item(2) Then GoTo NextLoopLine
    Next j
    
    ' 打印条目
    For j = LBound(cClass) To UBound(cClass)
      For k = 1 To cClass(j).Count
        Text1.Text = Text1.Text + CStr(cClass(j).Item(k))
      Next k
      
      Text1.Text = Text1.Text + vbTab
    Next j
    
    Text1.Text = Text1.Text + vbCrLf
    cnt = cnt + 1
NextLoopLine:
  Next i
  
  Text1.Text = Text1.Text + "Totla Arrangement: " + CStr(cnt)
End Sub
 
结果是:
代码:
56	14	23	
56	24	13	
56	34	12	
26	15	34	
16	25	34	
36	15	24	
36	25	14	
16	35	24	
26	35	14	
46	15	23	
46	25	13	
46	35	12	
16	45	23	
26	45	13	
36	45	12	
23	16	45	
13	26	45	
12	36	45	
24	16	35	
14	26	35	
34	16	25	
34	26	15	
14	36	25	
24	36	15	
12	46	35	
13	46	25	
23	46	15	
25	16	34	
15	26	34	
35	16	24	
35	26	14	
15	36	24	
25	36	14	
45	16	23	
45	26	13	
45	36	12	
15	46	23	
25	46	13	
35	46	12	
12	56	34	
13	56	24	
23	56	14	
14	56	23	
24	56	13	
34	56	12	
34	12	56	
24	13	56	
14	23	56	
23	14	56	
13	24	56	
12	34	56	
35	12	46	
25	13	46	
15	23	46	
45	12	36	
45	13	26	
45	23	16	
25	14	36	
15	24	36	
35	14	26	
35	24	16	
15	34	26	
25	34	16	
23	15	46	
13	25	46	
12	35	46	
24	15	36	
14	25	36	
34	15	26	
34	25	16	
14	35	26	
24	35	16	
12	45	36	
13	45	26	
23	45	16	
36	12	45	
26	13	45	
16	23	45	
46	12	35	
46	13	25	
46	23	15	
26	14	35	
16	24	35	
36	14	25	
36	24	15	
16	34	25	
26	34	15	
56	12	34	
56	13	24	
56	23	14	
Totla Arrangement: 90
算了,我也不鄙视你了。多多学习吧。
 
首先多謝你回答我的問題,(對不對是另外一回事)就算我做錯了並不等於我不會做,基礎數學差,沒學過高中數學.(因為我不是剛剛高中畢業的學生,畢業多年有些東西一時忘了也不奇怪,並不排除我重新再看一下書知識就回來了)難道做錯題你沒試過嗎?井底之蛙.會幾下C跟VB就在這裏賣弄.[red]就算你做的全對又如何,但你的人格極度低下.請你在鄙視人之前先鄙視下自己.[/red]
 
首先,我只想说一下,楼主的人品我很欣赏。您所谓的标准答案也错误连篇,可能在这个论坛里面还有很多排列组合都没有学好的网友,如果我不辩出是非,他们会身受其害的。我会于心不忍的。

还有本人使用C或者VB来解答题目也无非是要表示无论是用数学方法还是编程方法,真正的答案就只有一个,众所周知,排列组合只要把所以的项目都列出来,就真相大白了。

您所说的您高中毕业很多年了,您都忘记里面的内容了?然后看一下书就可以找回来了,诚然这些知识都是可以找回来的,但是您别忘了,你所求的是用编程的方法找到答案,就是不用高中数学就可以的。您不可能连编程都忘两三年吧。知识是很容易丢的,但是那种思想,思维方式,除非你上课没听讲,那是很经典的方法。

其实任何一门语言都可以写出这样简单,但不易解的问题,用C或VB也只是在下想提醒您一下。高手大有人在,我不是高手,别在标题上就写[red]偌大一个大富翁,居然没人能编程解答[/red]之类的话。学海无涯啊,身体力行啊。
 
又见标题党
 
1.因為"偌大一个大富翁,居然没人能编程解答"這句話你發以上的"高論".我无话可说.我之所以說"偌大一个大富翁,居然没人能编程解答"只是因為來回答的多數朋友都是回答數學問題公式.沒編程的朋友.所以有感而發.
2.但你另一观点"既然连简单的排列组合都不会,还学什么 Pascal,算了吧,回家学学基础学科吧。最好把高等数学也学一下,呵呵。否则,逻辑思维都没有跟上还学什么编程。"就太没品了,不像正人君子所为.别人提问并不代表人家真的不会.切磋一下看看那种方法运行高效也可以.就算真不会,那[red]你解答了,人家给分了就是了,用不着回答了还挖苦人家.在大富翁回答的人比比皆是,我就没见过有人回答了还挖苦别人.说人家的不是.[/red]
 
delphi帕拉酊 脾氣太好了,佩服佩服;

>>别人提问并不代表人家真的不会.切磋一下看看那种方法运行高效也可以.

此贴楼主非常之不後道,口口聲聲说自己会,只是釆切磋的,爲何通篇不见
你切磋代碼呢?分明就是想不劳而獲,群衆的眼光是雪亮的。。。

下面话更荒謬:
>>你解答了,人家给分了就是了

不要打着给分的幌子,就可以不尊重、踐踏、竊取人家的勞動成果;

退一萬步釆说大富翁上的分只是某種意義上的榮譽,并不是你用釆
做交易買賣的資本,你比谁都明白:“分<>钱”;

人家沒有帮你的義務,既然人家帮你了,作爲收益方你應該感謝才是;
而不是像这种说帮了你的人是“人格極度低下”;

借用你自己的话“請你在鄙視人之前先鄙視下自己”,大富翁中众多
垃圾贴子就是像你这样的方式产生的。
=============================================================
此贴偶封笔不再作回復,上面的言论留与离线包中让后釆人评说。。。


来自:gigi788, 时间:2007-2-5 19:32:15, ID:3666319
TMD.樓主是人渣,社會敗類.搞壞大富翁的風氣,大富翁成立這麽久,第一次看到樓主這種小人做法,估計樓主在生活中也是偷雞摸狗,吝嗇小氣,尖酸刻薄,貪小便宜之類的人物.
[red]為了維護大富翁的嚴肅,大家不要給他答案[/red]
 
delphi帕拉酊不是脾气好.是比你有修养.你比民工的素质还要低,想不到这样没教养,素质低的垃圾也来搞开发.我为你感到汗颜.你不说一下,从头到尾,到底谁先侮辱人.
[red]偶也强烈鄙视 楼主发这个找抽贴!!!
动不动就高手,高手,大嘴巴抽Y的。。。[/red]
本来我在这里是提问的,只不过说了一句"[red]看來高手都下班了[/red]"我wen hou你娘了吗?犯得着你一进来就说三道四,侮辱别人,你叫大家评下理,谁素质低下,没礼貌,没家教!你如果精神有问题就去看医生,别在这里乱吠.
 
gigi788:
有批评你的人听着就是了,毕竟你也没给论坛上的人钱.
针锋相对不好的.
在论坛上和为贵,毕竟高手是不应该平白无故帮你的.
其实你算一下,人家一个小时也是值50块钱以上的,何必那么激动呢,
求教别人就忍耐一下吧
^_^
 
to cst_zf:
我的事與你何幹.你又有給論壇錢嗎?罵人的又給論壇錢了嗎?就算給了論壇錢就可以罵人了嗎?解答了就可以隨便罵人了嗎?你的是什麽邏輯?我幹了你媽,再讓你媽幹我,那是不是就沒事了?你是不是過年吃雞吃傻了.大SB
 
问题1:
0000 0 0 0
000 00 0 0
000 0 00 0
000 0 0 00
00 000 0 0
00 00 00 0
00 00 0 00
00 0 000 0
00 0 00 00
00 0 0 000
0 0000 0 0
0 000 00 0
0 000 0 00
0 00 000 0
0 00 00 00
0 00 0 000
0 0 0000 0
0 0 000 00
0 0 00 000
0 0 0 0000
共20种

问题2:
0123
012 3
012 3
013 2
01 23
01 2 3
013 2
01 3 2
01 23
023 1
02 13
02 1 3
03 12
0 123
0 12 3
03 1 2
0 13 2
0 1 23
023 1
02 3 1
02 13
03 2 1
0 23 1
0 2 13
03 12
0 3 12
0 123
123 0
12 03
12 0 3
13 02
1 023
1 02 3
13 0 2
1 03 2
1 0 23
23 01
2 013
2 01 3
3 012
0123
012 3
3 01 2
013 2
01 23
23 0 1
2 03 1
2 0 13
3 02 1
023 1
02 13
3 0 12
03 12
0 123
123 0
12 3 0
12 03
13 2 0
1 23 0
1 2 03
13 02
1 3 02
1 023
23 1 0
2 13 0
2 1 03
3 12 0
123 0
12 03
3 1 02
13 02
1 023
23 01
2 3 01
2 013
3 2 01
23 01
2 013
3 012
3 012
0123
共81种

问题3:
01 23 45
01 24 35
01 25 34
01 34 25
01 35 24
01 45 23
02 13 45
02 14 35
02 15 34
03 12 45
04 12 35
05 12 34
03 14 25
03 15 24
04 13 25
05 13 24
04 15 23
05 14 23
02 34 15
02 35 14
02 45 13
03 24 15
03 25 14
04 23 15
05 23 14
04 25 13
05 24 13
03 45 12
04 35 12
05 34 12
12 03 45
12 04 35
12 05 34
13 02 45
14 02 35
15 02 34
13 04 25
13 05 24
14 03 25
15 03 24
14 05 23
15 04 23
23 01 45
24 01 35
25 01 34
34 01 25
35 01 24
45 01 23
23 04 15
23 05 14
24 03 15
25 03 14
24 05 13
25 04 13
34 02 15
35 02 14
45 02 13
34 05 12
35 04 12
45 03 12
12 34 05
12 35 04
12 45 03
13 24 05
13 25 04
14 23 05
15 23 04
14 25 03
15 24 03
13 45 02
14 35 02
15 34 02
23 14 05
23 15 04
24 13 05
25 13 04
24 15 03
25 14 03
34 12 05
35 12 04
45 12 03
34 15 02
35 14 02
45 13 02
23 45 01
24 35 01
25 34 01
34 25 01
35 24 01
45 23 01
共90种


算法的Delphi代码见:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=968511
三种不同颜色的小球,各三个,要放在三个不同的盒子里...
 
后退
顶部