01/10/2018, 11:54

Tính tổng các số chẵn trong số nguyên dương n bằng đệ quy

Mọi người ơi e muốn hỏi về thuật toán đệ quy cũng như hướng giải với. Bài này hơi khoai

sycoi001 viết 14:09 ngày 01/10/2018

Điều kiện dừng là 0; khi gặp 0 return 0;
Return n+tenham(n-2);
Nếu n%2==0;
Ví dụ n=6
Tông sẽ là: 6+4+2;
Khi n%2!=0 thì có nghĩa n là số lẻ thì trả kq khác.
Ví dụ số 5.
Thì return (n-1)+tenham((n-1)-2);
Vì là số lẻ nên lui 1 đơn vị sẽ ra số chẵn

Đỗ Trung Quân viết 14:09 ngày 01/10/2018

Ví dụ n=6
Tông sẽ là: 6+4+2;

n = 234252

Sum = 2 + 4 + 2 + 2 = 10

Minh Hà viết 14:08 ngày 01/10/2018

bác hiểu nhầm ý e rồi, ý e là nếu số n có dạng xyz, nếu x hoặc z là số chẵn thì tính tổng x+z cơ bác ạ

sycoi001 viết 13:58 ngày 01/10/2018

bài trên suy nghĩ sai.

int dequy(int n){
     if (n<0)  return -1; // dung khi n<0

     int k=(n%10)%2; // so du chia het cho 2.

     if ((n/10)==0){
        return n; // neu n chia 10 = 0 return 0.
     }else if (k==0){ // neu so du = 0.
        return n%10+ dequy(n/10); // vi du 20: 20%10 = 0 + 20/10 = 2
     }else
        return dequy(n/10); //nguoc lai n/10 !=0 va so du != 0 vd: 201/10 = 20. 20/10 = 2.
  }
Minh Hà viết 14:06 ngày 01/10/2018

e cảm ơn bác nhiều lắm

Bài liên quan
0