בעיה
שיעור 9 מתוך 20 בקורס חידות מתמטיות של Coddy.
משולשיים, מחומשים, ומשושים, (פרויקט אוילר, בעיה #45)
מספרים משולשיים, מחומשים ומשושים נוצרים לפי הנוסחה הבאה:
משולשי T(n)=n(n+1)/2 1, 3, 6, 10, 15, ...
מחומשי P(n)=n(3n−1)/2 1, 5, 12, 22, 35, ...
משושי H(n)=n(2n−1) 1, 6, 15, 28, 45, ...
אפשר לוודא ש-T(1)=P(1)=H(1)=1 וש-T(285) = P(165) = H(143) = 40755.
מצאו את המספר המשולשי הבא שהוא גם מחומש וגם משושי
אתגר
קשהכתבו פונקציה calc שפותרת את הבעיה ומחזירה מערך של שלושת הפתרונות הראשונים לבעיה. כלומר [1, 40755, ...]
נסו בעצמכם
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int rs = 0;
int* r = calc(&rs);
for (int i = 0; i < rs; i++) {
if (i > 0) printf(" ");
printf("%d", r[i]);
}
printf("\n");
return 0;
}
כל השיעורים ביחידה חידות מתמטיות
1מבוא
חידות מתמטיות9מספרים בינאריים
מבואתרגלו בעצמכם: קומפיילר C אונליין