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