01/10/2018, 13:43

Mình chuyển từ C sang Python, mọi người xem có sai lệch gì không

Code C:

int tinhtrongso(int A[],int n,int l)
{
	int max;
	int t=0;
	for(int j=0;j<=l-1;j++)
	{
		t=t+A[j];
	}
	max=t;
	for(int i=1;i<=n-l;i++)
	{
		t=0;
		for(int j=i;j<=l-1+i;j++)
		{
			t=t+A[j];
		}
		if(t>max)
			max=t;
	}

	return max;

}
int tinhtrongsocucdai(int A[],int n,int l1,int l2)
{
	int max=tinhtrongso(A,n,l1);
	for(int i=l1+1;i<=l2;i++)
	{
		tinhtrongso(A,n,i);
		if(max<tinhtrongso(A,n,i))
			max=tinhtrongso(A,n,i);
	}
	return max;
}

Code python:

def tinhtrongso(A,n,l):
        max=0
        t=0
        for j in range(0,l-1):
            t=t+A[j]
        max=t
        for i in range(0,n-l):
            t=0
            j=i
            for j in range(0,l-1+i):
                t=t+A[j]
            if (t > max):
                max=t
        return max

    def tongtrongsocucdai(A,n,l1,l2):
      max=tinhtrongso(A,n,l1)
      t=l1+1
      for i in range(0,l2):
        tinhtrongso(a,n,i)
        if (max<tinhtrongso(A,n,i)):
           max=tinhtrongso(A,n,i)
      return max
HK boy viết 15:49 ngày 01/10/2018

for(int j=0;j<=l-1;j++)

for j in range(0,l-1):

range(a, b) là list các số trong khoảng >= a và < b.

max=0

Không đặt tên biến trùng với hàm có sẵn.

for(int i=l1+1;i<=l2;i++)

t=l1+1
for i in range(0,l2):

Thế là thế nào? Thế bạn định for i từ đâu?

Bài liên quan
0