Coddy Users (long term)
الدرس 2 من 3 في دورة تحديات البرمجة للمقابلات - الحزمة الثالثة على Coddy.
في كل أسبوع، يزداد عدد مستخدمي Coddy عن الأسبوع السابق. دالة التكرار التي تمثل مستخدمي Coddy الأسبوعيين هي كالتالي:
إذا كان لدى الأسبوع السابق x مستخدم، وكان لدى هذا الأسبوع y مستخدم، فسيكون لدى Coddy x + 3y مستخدم في الأسبوع القادم.
كان لدى Coddy 0 مستخدم في الأسبوع الأول و 1 مستخدم في الأسبوع الثاني.
التحدي
متوسطاكتب دالة getUsers تستقبل عدداً صحيحاً n وتُعيد عدد مستخدمي Coddy في الأسبوع الـ n باقي القسمة على 109+7.
القيود:
1 < n < 100
لاحظ أننا نبحث عن أرقام أكبر بكثير الآن، نهج التكرار (recursion) لن يكون كافياً - سيؤدي إلى انتهاء الوقت (timed out).
جرّب بنفسك
int getUsers(int n) {
// اكتب الكود هنا
}