ב-C, כתוב תוכנית למציאת מספרים ראשוניים מקבוצה של מספרי סדרת פיבונאצ'י.
לאחר הדפסת סדרת פיבונאצ'י, אני רוצה לזהות את המספרים הראשוניים. התחלתי ביישום אלגוריתם פיבונאצ'י, ואז הוספתי כל חלק למערך. המערך סופק לאחר מכן לפונקציה שבדקה ראשוניים. רציתי לנסות את זה באמצעות מערך. הקוד הבא מציג את הרצף אך לא את המספרים הראשוניים. ראיתי מאמר(https://www.scaler.com/topics/fibon?... שדרש להשתמש בשיטות איטרטיביות ולא רקורסיביות. האם זה יצליח? תוכל בבקשה לעזור לי? [code] #include int fib() { int a=0,b=1, arr[20]; arr[0] = a; arr[1] = b; printf("%d, %d,",a, b ); int c=0; for(int i=2; i<=20; i++) { c=a+b; arr[i] = c; printf("%d,",c); a=b; b=c; } checkPrime(arr); } void checkPrime(int a[]) { int i, count; for(i=0; i { count=0; for(int j=2; j<=a[i]/2 ; j++) { if(a[i]%2==0) count++; } if(count>1) printf("%d is a Prime", a[i]); }
} int main() { fib(); } [/code] תוצאה של הקוד 0 הוא מספר ראשוני, וכך גם 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765 ו-8.
אפשרויות ניהול
moshebou
22.03.2317:45
1. arr בדרך כלל מייצג מערך לא אינטגרבתגובה להודעה מספר 0