日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编程一个最简单游戏_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...

發布時間:2024/7/23 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编程一个最简单游戏_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我想很多人在小時候都玩過這么一個游戲,我記得以前的摩托羅拉的手機里面就有,那就是漢諾塔!

看到圖片是不是想起來玩過這個游戲呢?

漢諾塔:漢諾塔(又稱河內塔)問題是源于印度一個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤

今天除了用編程語言解決這個簡單數學問題以外,小編還發現其實實現同一個東西,使用不同的編程語言,可以看出它們之間的相似之處以及一些區別,接下來就看看各大編程語言是如何實現的吧。

Python

def?hanoi(n,?a,?b,?c):if?n?==?1:
????????print(a,?'-->',?c)else:
????????hanoi(n?-?1,?a,?c,?b)
????????print(a,?'-->',?c)
????????hanoi(n?-?1,?b,?a,?c)#?調用
hanoi(5,?'A',?'B',?'C')

C

#include?#include?void?Hanoi(int?n,?char?a,char?b,char?c);void?Move(int?n,?char?a,?char?b);int?count;int?main(){int?n=8;printf("漢諾塔的層數:\n");scanf("?%d",&n);
????Hanoi(n,?'A',?'B',?'C');
????sleep(20000);return?0;
}void?Hanoi(int?n,?char?a,?char?b,?char?c){if?(n?==?1)
????{
????????Move(n,?a,?c);
????}else
????{
????????Hanoi(n?-?1,?a,?c,?b);
????????Move(n,?a,?c);
????????Hanoi(n?-?1,?b,?a,?c);
????}
}void?Move(int?n,?char?a,?char?b){
????count++;printf("第%d次移動?Move?%d:?Move?from?%c?to?%c?!\n",count,n,a,b);
}

C#

using?System;class?HANOI
{private?static?int?time?=?0;static?void?Main(string[]?args){
????????Hanoi(3,?"x",?"y",?"z");
????????Console.WriteLine(time?+?"?Times");
????????Console.ReadKey();
????}public?static?void?Hanoi(int?n,?string?x,?string?y,?string?z){if?(n?==?1)
????????{
????????????Console.WriteLine(x?+?"--->"?+?z);
????????????time++;
????????}else
????????{
????????????Hanoi(n?-?1,?x,?z,?y);
????????????Hanoi(1,?x,?y,?z);
????????????Hanoi(n?-?1,?y,?x,?z);
????????}
????}
}

Java

public?class?Hanoi?{/**
????*?
????*?@param?n?盤子的數目
????*?@param?origin?源座
????*?@param?assist?輔助座
????*?@param?destination?目的座
????*/public?void?hanoi(int?n,?char?origin,?char?assist,?char?destination)?{if?(n?==?1)?{
????????????move(origin,?destination);
????????}?else?{
????????????hanoi(n?-?1,?origin,?destination,?assist);
????????????move(origin,?destination);
????????????hanoi(n?-?1,?assist,?origin,?destination);
????????}
????}//?Print?the?route?of?the?movementprivate?void?move(char?origin,?char?destination)?{
????????System.out.println("Direction:"?+?origin?+?"--->"?+?destination);
????}public?static?void?main(String[]?args)?{
????????Hanoi?hanoi?=?new?Hanoi();
????????hanoi.hanoi(3,?'A',?'B',?'C');
????}
}

PHP

<?php function?hanoi($n,$x,$y,$z){if($n==1){
????????move($x,1,$z);
????}else{
????????hanoi($n-1,$x,$z,$y);
????????move($x,$n,$z);
????????hanoi($n-1,$y,$x,$z);
????}
}function?move($x,$n,$z){echo'movedisk'.$n.'from'.$x.'to'.$z.'
';
}
hanoi(10,'x','y','z');?>

Pascal

var?m:integer;procedure?move(getone,putone:char);begin?writeln(getone,'->',putone)?end;procedure?hanoi(n:integer;one,two,three:char);beginif?n=1?then?move(one,three)?elsebegin
hanoi(n-1,one,three,two);
move(one,three);
hanoi(n-1,two,one,three)endend;begin
readln(m);write('the?step?to?moving?disks:');
writeln;
hanoi(m,'A','B','C')end.

通過上面的實現代碼,我們很容易發現,Python語言的使用代碼量是最少的,也是最為簡潔的,并沒有那么多的()和{},所以對于很對想要學習編程語言的小伙伴們,小編是非常建議大家學習Python入門的,畢竟對新手還是非常的友好的!

雖然它們的語法可能是存在一些差異,但是實現效果的邏輯思維還是一樣的呀,所以一法通萬法通!

最后再說一句(主要針對那些杠精^.^)

這并沒有說專門棒哪個編程語言,也沒有說貶低哪個編程語言,因為每一個編程語言都有自己的特點以及擅長的領域,Python代碼特點就是簡潔,這個是我們不能反駁的。

每一個編程語言都有其擅長的領域,比如:

Java擅長的領域:

網頁, 企業級開發, 普通應用軟件, 游戲后臺

C/C++擅長的領域:

C: 系統底層, 驅動, 嵌入式開發.

C++: 游戲開發, 大規模, 高性能, 分布式要求的程序開發。

PHP擅長的領域:

網絡前端,用于生成網頁。也可以整個web服務器都用php,比如很多論壇引擎。

Python擅長的領域:

服務器開發與物聯網開發。信息安全,大數據處理,數據可視化機器學習,物聯網開發,各大軟件的api,桌面應用

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持

總結

以上是生活随笔為你收集整理的编程一个最简单游戏_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。