任意のループ (最初の要素、最後の要素、およびインクリメントの任意の数) で 1 ステップずつインクリメントするカウンターを回避するために、数学者の数式を見つけようとしています。
例 1 (1 つの for ループ):
MIN=最初の要素、MAX=最後の要素、HOP=インクリメント (変数 i)
カウンター付き:
c = 1;
for i = MIN:HOP:MAX
c = c + 1;
end
カウンターなし:
for i = MIN:HOP:MAX
c = floor((i-MIN)/HOP) + 1;
end
例 2 (2 つの for ループ):
MINi=最初の要素、MAXi=最後の要素、HOPi=インクリメント (変数 i)
MINj=最初の要素、MAXj=最後の要素、HOPj=インクリメント (変数 j)
カウンター付き:
c = 1;
for i = MINi:HOPi:MAXi
for j = MINj:HOPj:MAXj
c = c + 1;
end
end
カウンターなし:
for i = MINi:HOPi:MAXi
for j = MINj:HOPj:MAXj
x = (floor((i-MINi)/HOPi)+1);
y = (floor((j-MINj)/HOPj)+1);
c = x*y+(x-(floor((MAXi-MINi)/HOPi)+1))*((floor((MAXj-MINj)/HOPj)+1)-y);
end
end
2 つの for ループを使用した c 式の単純化はありますか?
ループの k を使用して c(k) を検索するための式はありますか?