2016-03-24 36 views
-2

Üniversitede öyle ve n bir fonksiyonu olarak çalışmasının sonunda x'in değeri nedir kısaca açıklamak için aşağıdaki kodu verildi, birisi bana yardımcı olabilir umuyoruz.Aşağıdaki kod ne yapar?

x = 0; 
for(int i = n; i > 1; i--) { 
    for(int j = 1; j < i; j--) { 
     x +=5; 
    } 
} 

sayesinde

+0

(int j = 1, j user2260040

+0

Ödev size verildi. Çünkü hoca sizin işinizi görmek istiyor (bizimki değil). Bunu kendin yapmalısın. Bunu anlayamıyorsanız, eğitmeninizden yardım isteyin; ya onlar henüz gerekli bilgiyi sağlama işini yapmadılar ya da sınıfta dikkatsiz davrandılar. İyi şanslar. –

+0

@ user2260040 ohh benim hatam oldu mutlaka burada bir soru sorarak ziyade bir online derleyici üzerinde çalıştırmak için hızlıdır –

cevap

1

yüzden, sadece elle çalıştırmak durumunda

(I yerine "j--" nin "j ++" yazmak ve sonsuz bir döngüye gitmeyen? Anlamına varsayalım). n aşağı 2 (dahil) arasında bir tamsayıdır fazla i ile

dış döngü yinelenir. 1 ila i'ye kadar tam sayılar üzerinde j o döngünün her adımda

, iç döngü dolaşır 1 - (dahil).

Bu nedenle, X her biri için 5 ile artırılır:

j = 1, 2, ..., n - 1

sonra, her biri:

j = 1, 2, ... n - 2

sonra, vs,

...

kadar

j = 1

yanılmıyorsam ise, bu bu n * (n - 1), toplam

kullanılır (bakınız/2 iterasyon aritmetik ilerlemesi)

N (sonunda

x == 5 * n * vermek üzere - 1)/2

Örneğin, n = 3:

X == 15

'HTH için

0
for(int i = n; i > 1; i--) { 
for(int j = 1; j < i; j--) { 

yana i> 1 ve j = 1 'dir; j < i; j--. j her zaman i'den az olacaktır, bu yüzden sonsuz bir döngü haline gelir.