#include <stdio.h> #include <stdlib.h> int main() { //百钱百鸡 int male_kun, female_kun, sm_kun; int money = 100; int num = 0; for (male_kun = 0; male_kun < 20; male_kun++) { for (female_kun = 0; female_kun < 33; female_kun++) { int curr_money = money - 3 * female_kun - 5 * male_kun; sm_kun = 3 * curr_money; if (sm_kun + female_kun + male_kun == 100) { printf("小kun = %d ,公kun = %d,母kun = %d\n", sm_kun, male_kun, female_kun); num++; } } } printf("情况共有%d", num); //鸡兔同笼 for (int hen = 0; hen < 35; hen++) { for (int tu = 0; tu < 23; tu++) { if (hen * 2 + tu * 4 == 94 && hen + tu == 35) printf("鸡 = %d 兔 = %d\n", hen, tu); } } //韩信点名 int people; for (int i = 700; i > 600; i--) { if (i % 3 == 1 && i % 5 == 1 && i % 7 == 1) people = i; } printf("%d", people); //折纸塞珠峰 int tall = 8848880; int time = 0; int temp = 1; for (int i = 0; i < 30; i++) { temp *= 2; if (temp >= tall) continue; time++; } printf("\n%d\n", time); //猴子吃桃 //f(x-1) = f(x)/2 -1 ---->f(x) = 2[f(x-1) + 1] int monkey[12]; monkey[0] = 1; //倒过来,第十天看成第0天,第一天为第十天 //f(x+1) = 2[f(x) + 1] for (int i = 0; i < 10; i++) { monkey[i + 1] = 2*(monkey[i] + 1); printf("%d\n", monkey[i]); //1534 } printf("---------------------------------------- -\n"); /*斐波那契数列*/ int f[20]; f[0] = f[1] = 1; for (int i = 2; i < 20; i++) { f[i] = f[i - 1] + f[i - 2]; printf("%d ", f[i]); } return 0; }
斐波那契数列,猴子偷桃递推算法
于 2024-04-28 18:21:01 首次发布