30/09/2018, 21:46
V/v Tối ưu mã nguồn
Mọi người đánh giá xem giúp hai chương trình sau về mọi khía cạnh như coding style, tính tối ưu … và mọi người xem thích cái nao hơn với nhé.
Code 1
#include <iostream>
#include <conio.h>
using namespace std;
int Sum = 0;
int sumOddDigit(int n) {
if (n < 0) return -1;
int k = n % 10;
if (k != 0) {
if (k % 2 != 0) S += k;
return sumOddDigit(n / 10);
}
}
int main() {
S = sumOddDigit(101010);
cout << S;
_getch();
return 0;
}
code 2
#include <iostream>
#include <conio.h>
using namespace std;
int sumOddDigit(int n) {
if (n<0) return -1;
static int S = 0;
int i = n % 10;
n = n / 10;
if (i % 2 == 1) S += i;
if (n == 0) return S;
else return sumOddDigit(n);
}
void main() {
cout << sumOddDigit(101010);
_getch();
}
thanks!
Bài liên quan
This post was flagged by the community and is temporarily hidden.
Nhìn vào hàm thấy 2 hàm đều khó hiểu như nhau, nói thằng ra code này do newbie viết…
Thời đại bây giờ cần code dễ hiểu, thậm chí nếu code dài hơn mà dễ hiểu thì nó đáng giá gấp trăm lần code ngắn nhưng khó hiểu
À cái đệ quy là do yêu cầu bạn ơi
cảm ơn đã cmt, nhưng có vẻ bạn nói chưa thuyết phục giữa dể hiểu và tính hiệu quả, nhanh gọn thì sao lại được thời đại bây giờ cần được nhỉ.
This post was flagged by the community and is temporarily hidden.
Vì thời đại bây giờ máy tính nó nhanh lắm rồi. Và đa số các việc thì không cần tốc độ cao. Những ngôn ngữ bị cho là chậm như Java C# vẫn viết được thì C++ có nhanh cũng không mang nhiều ý nghĩa trong đa số các trường hợp.
Một sản phẩm thường kèm cả 2 quá trình : bảo trì và phát triển và trong 2 quá trình đó có nhiều người làm. Nên người ta cần code viết dễ hiểu nhất để đến lúc làm còn đọc được, nhìn vào là hiểu được ngay. Viết thật ngắn, khó hiểu suy cho cùng là dạng ảo tưởng thôi, có gì đâu. Đến lúc code của mình mà mình còn đọc không nổi là không tốt đâu.