30/09/2018, 16:10

Tìm Số nguyên tố n và tổng số nguyên dương thoả điều kiện đã cho

Đề bài : Tính tổng các số nhỏ hơn số nguyên tố đã cho phù hợp điều kiện (30>tổng>120)

#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
	int n;
	nhaplaidipanoi:cout << "nhap gia tri n: " << endl;
	cin >> n;
	while (n<1)
	{
		goto nhaplaidipanoi;
	}
	bool check = true;
	int temp= n;
	if (n < 2)
	{
		check = false;
	}
	else
	{
		for (int i = 3; i < sqrt(temp); i += 2)
		{
			if (i % 2 == 0)
			{
				check = false;
			}
			else
			{
				check = true;
			}
		}
	}
	if (check == true)
	{
		int tong_So_Nguyen_To = 0;
		int i = 1;
		while (i < n)
		{
			tong_So_Nguyen_To += i;
			i++;
		}
		if (tong_So_Nguyen_To>30 && tong_So_Nguyen_To < 120)
		{
			cout << "tong so nguyen to cua n =" << n << " thoa dieu kien" << endl;
		}
		else
		{
			cout << "tong so nguyen to cua n =" << n << " khong thoa dieu kien" << endl;
		}
	}
	system("pause");
	return 0;
}

ai thắc mắc thì hỏi mình giải đáp

Gió viết 18:20 ngày 30/09/2018

Theo đề thì chả có số nào 30>n>120. Thì in kết quả = 0 luôn =))

Thực tế khắc nghiệt viết 18:19 ngày 30/09/2018

hehe bác mới nói e mới sủa r

Gió viết 18:11 ngày 30/09/2018

nói chung không hiểu ý của bạn lắm. còn đây là thuật toán của mình

def sieve(n):
    a=[True]*(n+1)
    t=int(n**0.5)
    for i in range(2,t+1):
        if a[i]:
            j=0
            while i*(i+j)<=n:
                a[i*(i+j)]=False
                j+=1
    primes=[]
    for i in range(2,n+1):
        if a[i]: primes.append(i)
    return primes
"""
>>>print(sieve(100))
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
>>>print(sum(sieve(100)))
1060
"""
Sáng Béo viết 18:14 ngày 30/09/2018

nói chung không hiểu ý của bạn lắm. còn đây là thuật toán của mình

code này cũng là ngôn ngữ C ạ?
e thấy lạ quá.

Gió viết 18:18 ngày 30/09/2018

Cái này là Python. Mình thường dùng để viết tư tưởng thuật toán

Thực tế khắc nghiệt viết 18:19 ngày 30/09/2018

@minhdiem này cũng đc mà

Onethingisforever! viết 18:12 ngày 30/09/2018

@Gio b đi thi olympic tin đấy ah?

Thực tế khắc nghiệt viết 18:20 ngày 30/09/2018

olympic thì chủ yếu là thuật toán! cách của mình chỉ xét theo trường hợp! học cấu trúc dữ liệu và giải thuật sẽ hiểu

Nguyễn Minh Dũng viết 18:25 ngày 30/09/2018

I moved 4 posts to a new topic: Phỏng vấn @Gio 5 phút

LE Manh Cuong viết 18:26 ngày 30/09/2018

Có thể không dùng biến primes:

return [i for i in xrange(2, n+1) if a[i]]
Bài liên quan
0