问题背景汉诺塔问题源自印度一个古老的传说,印度教的“创造之神”梵天创造世界时做了 3 根金刚石柱,其中的一根柱子上按照从小到大的顺序摞着 64 个黄金圆盘。梵天命令一个叫婆罗门的门徒将所有的圆盘移动到另一个柱子上,移动过程中必须遵守以下规则:每次只能移动柱子最顶端的一个圆盘;每个柱子上,小圆盘永远要位于大圆盘之上;游戏体验点击开始体验游戏:汉诺塔游戏 (gitee.io)汉诺塔移动次数规律
斐波那契数列:前两个数之和等于第三个数(如1 1 2 3 5 8 13 21 34 55 ......)描述第n个斐波那契数列:由图Fibn<=21n>2Fib(n-1)+Fib(n-2)可知#include<stdio.h>int Fib(int n){ if(n<=2) return 1; else return Fib(n-1)+Fib(n
解法:#include <stdio.h>int Facl(int n){ int i=0; int ret=1; for(i=1;i<=n;i++) { ret*=i; } return ret;}int main(){ int n=0; int ret=0; printf("请输入要求的阶乘:"); s
这是一个我们已知的求字符串长度的代码:(但题目要求我们自己写一个新的 不用strlen)#include<stdio.h>#include<string.h>int main(){ char arr[]="hi!"; int len=strlen(arr); printf("%d\n",len); return 0;}循环方法的解法(未考虑临时变量的
例如:1234,输出1 2 3 4 #include<stdio.h>void print(int n){ if(n>9) { print(n/10); } printf("%d ",n%10);}int main(){ unsigned int num=0; printf("请输入一个数:"); scanf("%d",&num); //递
1.辗转相除法,一般用来求最大公约数#include <stdio.h>int main(){ int m; int n; int r; printf("请输入两个数:"); scanf("%d %d",&m,&n); while(m%n!=0) { r=m%n; m=n; n=r; } printf("最大公约数为:%d\n",n)
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号