01/10/2018, 08:37

Tăng tốc độ chạy của code

Yeu cau de : Nhap 1 so n bat ki; in ra truoc no co bao nhieu so nguyen to.
Vi Du : INPUT 10 - OUT :3
INPUT 100000 - OUTPUT 9592
code em viet nhu the nay ma no chay lau qua luc nhap 100k at a. A/C co the giup em lam sao cho chay nhanh hon k ( toi uu code ). Sorry May tinh dang bi loi ko viet tieng viet co dau dc a

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
	int n, i, j;
	cin >> n;
	int dem = 0;
	for (i = 2; i < n; i++)
	{
		bool prime = true;

		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				prime = false;
				break;
			}
		}
		if (prime == true)
		dem++;
		
	}
	cout << dem;
}
rogp10 viết 10:44 ngày 01/10/2018

Dùng sàng đi bạn

Muh câu này người ta hỏi nhiều lắm rồi

Tuấn UIT viết 10:47 ngày 01/10/2018

Em moi hoc dc 2 tuan @@ ko biet nhieu la sao anh giai thich them dc ko a.

Hung viết 10:39 ngày 01/10/2018

Mới học 2 tuần vậy được rồi.
Nếu mình đưa ra bài toán này thì chỉ yêu cầu biết sử dụng vòng lặp và lồng câu lệnh điều kiện trong vòng lặp. Yếu tố nhanh hay chậm thì không care đâu. Và tést cũng không bao giờ test số lớn cả.

rogp10 viết 10:53 ngày 01/10/2018

Chưa hay 100k không vẹo nhưng 1b chạy ko kịp.

Em moi hoc dc 2 tuan @@ ko biet nhieu la sao anh giai thich them dc ko a.

Hình dung một bảng số từ 2 đến N. Nếu p là số nguyên tố thì 2p, 3p, … không phải là số nguyên tố nên gạch bỏ. Cuối cùng số nào không gạch thì số đó nguyên tố.

Thực ra chỉ cần gạch p^2, p^2+p, p^2+2p, …

rogp10 viết 10:49 ngày 01/10/2018

Chia thử nó lâu cực kì với lại người ta kêu đếm tức là không cần lưu gì cả.

Tuấn UIT viết 10:40 ngày 01/10/2018

The co cach nao toi uu no ko nhi ? Neu co cho em xin Code voi a. Do Nop bai tren web truong. no tinh thoi gian chay tren day luon a.

Tao Không Ngu. viết 10:41 ngày 01/10/2018

Sorry mọi người kiến thức của mình còn ít.
Rất xin lỗi.

Bài liên quan
0