C语言-算法题


腾讯算法面试题,50个台阶,一次可以上一个或两个台阶,一共有多少可能?

 
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

//腾讯面试题:有50个台阶,每次走一步或两步,有多少种可能
double go(int n){
	if (n == 1){
		return 1.0;
	}else if (n ==2){
		return 2.0;
	}else{
		return go(n - 1) + go(n - 2);//前一次,和前二次的和
	}
}

int main(){
	printf("%f\n",go(10));
	getchar();
}


水仙花数(一个三位数,其各位数字的立方和等于该数本身)

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

void sxh(){
	for (int i = 100; i < 1000; i++){
		int ge = i % 10;
		int shi = i / 10 % 10;
		int bai = i / 100;
		if (pow(bai,3)+pow(shi,3)+pow(ge,3) == i){
			printf("i=%d,ge=%d,shi=%d,bai=%d\n", i, ge, shi, bai);
		}
	}
}

int main(){
	sxh();
	getchar();
}



把十进制数转换成任意进制数的写法

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

/**
 * 十进制转换成其它进制
 * num=>要转换的十进制,to=>要把十进制转换成的进制数
 */
void ttoo(int num, int to){
	if (num == 0){
		return;
	}else{
		ttoo(num/to,to);
		printf("%d",num%to);
	}
}

int main(){
	ttoo(100,16);
	getchar();
}




你可能感兴趣的:(算法,C语言)