THẢO LUẬN

khoảng 12 giờ trước

theo mình thì Base phải chọn là phần tử sinh của mod mới đúng

0
Avatar
đã bình luận câu trả lời trong câu hỏi
khoảng 14 giờ trước
#include <stdio.h>
#include <time.h>

const int limit = 1e8 + 8;
uint64_t p[limit / 64 + 11];

bool test(int idx) {
	return (p[idx >> 6] & (1ULL<<(idx & 63))) == 0;
}

void mark(int idx) {
	p[idx >> 6] |= (1ULL<<(idx & 63));
}

void sieve() {
	mark(0);
	mark(1);
	for (int i = 3; i * i < limit; i += 2) {
		if (test(i)) {
			for (int j = i * i; j < limit; j += i * 2) {
				mark(j);
			}
		}
	}
}


bool p4[limit + 11] = {false};

bool test4(int idx) {
	return p4[idx] == false;
}

void mark4(int idx) {
	p4[idx] = true;
}

void sieve4() {
	mark4(false);
	mark4(true);
	for (int i = 3; i * i < limit; i += 2) {
		if (test4(i)) {
			for (int j = i * i; j < limit; j += i * 2) {
				mark4(j);
			}
		}
	}
}

int main() {
	const int MAX_TRY = 1;
	clock_t start, end;
	start = clock();
	for(int i=0; i<MAX_TRY; ++i) {
		sieve4();
	}
	end = clock();
	printf("sieve bool: %ld ms\n", end - start);

	start = clock();
	for(int i=0; i<MAX_TRY; ++i) {
		sieve();
	}
	end = clock();
	printf("sieve: %ld ms\n", end - start);
	return 0;
}

sieve bool: 727587 ms
sieve: 324367 ms

Link test: https://onecompiler.com/cpp/42sr7zes4

0
khoảng 16 giờ trước

Nếu dùng $token = Hash::make($email)) sẽ sinh ra 1 token có chứa "/", như thế khi truyền vào url sẽ ko đến đc đích vd: abcde -> fasdfsdfhsakdfsadf/23sdf/sda như thế sẽ ko sử dụng đc

0
Avatar
đã bình luận câu trả lời trong câu hỏi
khoảng 16 giờ trước

@nourist vậy bạn có thể post cả code sử dụng mảng bool để so sánh được không?

0

cảm ơn b nhé để mình tham khảo, mình chưa làm chức năng này bao giờ nghe payos hơi lạ

0

@refacore mình chưa hiểu ý b lắm, vị dụ trang web có định nghĩa 1COIN = 10k , người dùng A nạp vào 100K được 10coin thì tài khoản ví của mình có 100k, người dùng B làm nhiệm vụ được 10COIN thì muốn rút tiền mình sẽ lấy 100k từ ví chuyển cho người B CÓ phải ý b là "ví" ( VNPAY...) sẽ không cho rút tiền vì lý do bạn nêu ra, và mình phải có 1 tài khoản ngân hàng để chuyển khoản cho người B và trừ 10COIN trong tài khoản web của người B Cảm ơn b đã trả lời nhé

0
khoảng 18 giờ trước

Xin chào, tôi thấy rằng 1 số trang web khai báo ogp tag bằng name thay vì property như bạn đang giới thiệu. Có sự khác biệt gì so với 2 cách sử dụng này không nhỉ ?

0

voãi thế hóa ra ô này toàn reup xong k ghi nguồn à 🤨

0
khoảng 22 giờ trước

Cảm ơn bạn đã đọc bài viết của mình, mình cũng có một số bài khác hy vọng sẽ giúp ích cho bạn

0
khoảng 22 giờ trước

Em cảm ơn anh . Anh cho em hỏi muốn thi Chứng chỉ này thì có cần phải học kỹ phần JSP, Severlet trước không ạ . Hay chỉ học mỗi Spring MVC và Spring boot thôi

0

ok bạn dạo này mình bận nên chưa có thời gian viết thêm

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Thứ Sáu, 1:00 SA

@nourist Lý thuyết thì bitset nhanh hơn. Bạn có thể đưa code dùng mảng bool lên để mọi người so sánh.

0
Thứ Năm, 3:02 CH

Mybatis này trước tui đọc thấy Hibernate tiện hơn do dùng ORM, nên bỏ qua, xong qua Nhật toàn dự án maintain hồi xưa kiểu dùng Mybatis này, thời chưa có ORM phổ biến. Lại phải học để nhúng tràm. Cám ơn chủ thớt về bài viết nhé.

0

Hồi xưa mới mò web gặp miết nhớ luôn :V

0
Thứ Năm, 1:35 CH

hình như hàm sieve2 của bạn bị sai, mình thử in ra bitset của mảng p thì tất cả đều bằng 0. Mình cũng mong bạn giải đáp bitset có thực sự tăng tốc độ không. và nếu tối ưu thì mình mong bạn chỉ tối ưu về phần xử lí bit và không thay đổi những cái khác để mình dễ so sánh

0
Thứ Năm, 11:13 SA

thanks

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
Thứ Năm, 10:33 SA

Mình đã thử lại với các góp ý của bạn và thực sự nó không giúp tăng tốc độ. Không biết là bitset có thực sự tăng tốc độ không mình rất thắc mắc, vì tìm kiếm ở đâu cũng thấy là bitset có tốc độ nhanh hơn mảng bool trong khi mình chạy thực tế lại không như vậy

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Thứ Năm, 10:23 SA

Phần % 63 là một số sai sót của mình, đáng lẽ phải là 64. Mình sẽ thử lại tối ưu hàm mark

0

Em thấy cái ví dụ này không rõ giải quyết được cái vấn đề của bài toán ATM đặt ra ở đầu bài viết như thế nào. Nó giải quyết vấn đề if else lồng nhau như thế nào vậy anh?

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí