פורסם 2007 בנובמבר 1818 שנים למישהו יש רעיון איך לעשות את הפונקציה הזאת בצורה רקורסיבית? (ללא לולאות)float func_2(int n){ int i; float sum=0,x; for(i=1;i<n+1;i++) { x=(float)1/i; sum+=x; } return sum;}
פורסם 2007 בנובמבר 1818 שנים במקום הלולאה, הפונקציה צריכה לקרוא לעצמה עם n-1, ולהוסיף לתוצאה את 1 חלקי n.(כמובן צריך לדאוג לתנאי עצירה וכו').
פורסם 2007 בנובמבר 1818 שנים זה טוב?#include <stdio.h>float recursion(int n){ if (n==1) return 1; return ((1.0/n)+recursion(n-1));}void main(){ int numberOfTimes=5; float answer=0; answer=recursion(numberOfTimes); printf("%f",answer); getchar();}
פורסם 2007 בנובמבר 1818 שנים מחבר בצילום המצורף יש את השאלה ויש את הפתרון שכתבתימה לא בסדר בו ? (מחזיר ערך לא נכון)[attachment deleted by admin]
פורסם 2007 בנובמבר 1818 שנים מחבר למה לא ? הם חלק ממבנה המשוואה.בכל אופן ניסיתי בלעדיהם ועדיין זה נותן ערכים לא נכונים.
פורסם 2007 בנובמבר 1818 שנים מכיוון שגם שאר המשוואה שלך לא נכונה.לדוגמא, עבור זוגי, זה צריך להיות משהו כזה - return n-2 + func3(n-2, a, b) + (n - 1) * func_3(n - 1, a, b);כמו כן, שים לב שבאי זוגי חזרים לך סוגריים וקריאה לפונקציה.תעבור שוב על הנוסחאות, יש לך שם טעות.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.