1
누구든지 내게 시간의 숫자에 대한 수학 표현식을 만드는 방법을 보여줄 수 있습니까? total ++; 다음 코드에서 실행됩니까?중첩 된 루프에서 수학 표현식 만들기
나는 'i 루프'가 n/P 시간을 반복하고 그 총합 ++를 알고 있음을 이해한다; 'i loop iterations'* 'j loop iterations'를 실행합니다. 그러나 n과 P의 관점에서 이것으로부터 수학 표현을 얻는 방법을 모르겠습니다.
#include <iostream>
using namespace std;
int total = 0;
int n = 20;
int P = 2;
int id = 1;
int test = 0;
int main()
{
for (int i = id*n/P; i < ((1+id)*n/P); i++)
{
cout << i << endl;
test++;
for (int j = 1; j <= i-1; j++) {
total++;
}
}
cout << test << endl;
cout << total;
return 0;
}
힌트 : 중첩 루프는 외부 루프가 실행될 때마다 한 번 더 실행됩니다. (sum1, n) = n * (n + 1)/2에 대한 잘 알려진 수식이 있습니다. 루프가 1에서 시작하지 않음에 유의하십시오. – Attila
아,이 루프를 잘 압니다. O (숙제^2) –
외부 루프가 한 번 실행되면 어떻게됩니까? 두번? 세 번? 가능한 일반적인 규칙을 볼 수 있습니까? 그럼 유도로 증명할 수 있니? –