河內塔問題
#include<stdio.h>
#include<stdlib.h>
int fun_a(int)
void fun_b(int,int,int,int)
int main(void)
{
int n
int option
printf("題目二:河內塔問題\n")
printf("請輸入要搬移的圓盤數目\n")
scanf("%d",&n)
printf("最少搬移的次數為%d次\n",fun_a(n))
printf("是否顯示移動過程? 是請輸入1,否則輸入0\n")
scanf("%d",&option)
if(option==1)
{
fun_b(n,1,2,3)
}
system("pause")
return 0
}
int fun_a(int n)
{
int sum1=2,sum2=0,i
for(i=n i>1 i--)
{
sum1=sum1*2
}
sum2=sum1-1
return sum2
}
void fun_b(int n,int left,int mid,int right)
{
if(n==1)
printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right)
else
{
fun_b(n-1,left,right,mid)
printf("把第%d個盤子從第%d座塔移動到第%d座塔\n",n,left,right)
fun_b(n-1,mid,left,right)
}
}
標簽:
int
include
stdlib
fun_a
上傳時間:
2016-12-08
上傳用戶:努力努力再努力
//--- --- --- - 音樂簡譜播放器--- --- --- -
/*奏樂程序使用說明
調用方式: sing fname [speed [times]]
文件名 速度(拍/分) 遍數
簡譜文件格式:
第1行: 曲名 節拍 調號
第2行-- 樂譜 (空格,換行無意義,但不得插在一個"音描述"內部)
記號:
* 節拍,調號,小節分隔符,終止符,升音符,中音音高,休止符,附點,延長
符等 -- 按照常規.
* 音描述 --
[3連音符][升降還原符]音高[高低音后綴][音長][附點][延長符]
* 3連音符 -- ^ 只標在第1音前,音長只標在第3音后
(3連音的實際總音長為所標音長的兩倍,例如:^323 的總音長為1拍)
* 降音符 -- @
* 還原符 -- $
* 高低音后綴 -- H(高音) U(高16度音) 連用音程相加
L(低音) W(低16度音)
* 音長 -- 無(1拍) (1/2拍) "(1/4拍) 連用為相乘*/
標簽:
fname
speed
times
sing
上傳時間:
2014-11-28
上傳用戶:hj_18