30/09/2018, 16:10

Tính tổng các số nguyên tố nhỏ hơn n ( đk 0>tong>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  <3)
    {
        goto nhaplaidipanoi;
    }
    int temp = n;
    int tong = 0;
    for (int i = 3; i < sqrt(temp); i++)
    {
        if (i % 2 != 0)
        {
            cout << "so nay la so nguyen to : " << i << endl;
            tong += i;
        }
        if (tong > 0 && tong < 120)
        {
            cout << "so n : " << n << " la so co tong cac so nguyen to thoa dieu kien!! co tong =" << tong << endl;
        }
        else
        {
            break;
            cout << "so n : " << n << " la so khong thoa dieu kien!!" << endl;
        }
    }

    system("pause");
    return 0;
}
Onethingisforever! viết 18:18 ngày 30/09/2018

bác dùng cái sqrt nó báo quá tải này, với add “math.h” @Honey_moon

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

đâu cần thiết! nếu thích thì ép kiểu visual 2013 nó k báo lỗi mà

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

~~. vậy cái vs 2010 của em sao ko chạy dc nhở ?

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

sao mà bik đc! của mình xài vs 2013

BaoLe viết 18:26 ngày 30/09/2018
#include<iostream>
#include<math.h>
using namespace std;
int main() {
    int so_tu_nhien,sum1=0,sum=0,check=1;
    do {
        cout<<"Nhap gia tri cua so_tu_nhien:";
        cin>>so_tu_nhien;
        if(so_tu_nhien<2)
            cout<<"Gia tri cus n da nhap khong hop le"<<endl;
    } while(so_tu_nhien<2);
    for(int k=2; k<so_tu_nhien; k++) {
        if(check==0)
            check=1;
        for(int i=2; i<=(sqrt((double)k))&&check; i++)
            check=k%i;
        if(check) {
            sum=sum+k;
            if(sum<=120)
                sum1=sum1+k;
            if(sum>120)
                break;
        }
    }
    cout<<"Tong can tim la:Sum="<<sum1<<endl;
    return 0;
}

Như mình được biết, thì số nguyên tố luôn >=2 nên tổng luôn luôn>=0 rồi, nên chỉ cần kiểm tra số đã nhập lớn hơn 2 và tổng <=120 hay không thôi.Mới học C++ nên nhờ mọi người fix lại giúp mình với.

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

nếu chia ko hết cho 2 thì ta xét các trường hợp lẻ cần j phải xét thế! còn nữa tại sao phải thêm if nhìu nữa trong khi ta có thể sum ở chỗ xét nguyên tố l! bạn xem code mình nhé hì

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

@minhdiem
xem trong này đi

Bài liên quan
0