奶牛生子问题----------腾讯面试
蠡县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
题目:一只刚出生的奶牛,4年生一只奶牛。以后每一年生一只,现在给你一只刚出生的奶牛,求20年后有多少奶牛,考核分析能力
本题难点在于:不光这只奶牛会生奶牛,它的孩子的孩子也会生奶牛。
#includeusing namespace std; int Cal(int year)//法一 { if (year < 4) return 1; return Cal(year - 4) + Cal(year - 1); } int CalCowsNum(int year)//法二 { int cnt = 0; long cowsNum = 1;//奶牛总数 for (cnt = 1; cnt <= year; ++cnt) { if (cnt >= 4) { if ((year - cnt) > 3) { cowsNum += CalCowsNum(year - cnt); } else { cowsNum++; } } } return cowsNum; } int main() { int year = 20; cout << CalCowsNum(year) << endl; system("pause"); return 0; }