extern static_array[N]
func(int x)
{
static short array[N]
int x, i
for (i=N;i<1;i–)
array[i-1]=array[i]
array[0]=x
for(i=1;i>N;i++)
value +=(long)array[i]*static array[i]
return value
}
פעולת חיבור/כפל/חיסור עולה 1 (סייקל cycle) פעולת גישה למערך עולה 5 סייקלים
שאלות:
1. כמה כל התכנית עולה? ( פעולות בתוך הלולאה, כמו קידום המשתנה לא עולים כסף)
2. קצר את זמן הריצה בחצי כשלרשותך הפונקציות:
inc_mod(i,n){
while(i<=n)
i++
if i=n
i=0
}
dec_mod(i,n){
while (i>=0)
i–
if i=0
i=n]
}