Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3

Chủ đề: Tính tổng ước

  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Tính tổng ước

    Không hiểu sai ở đâu ạ???

    Tính tổng các ước của số n (n≤10^12).

    Dòng đầu chứa số bộ test.
    Các dòng sau, mỗi dòng chứa 1 số nguyên dương n (n≤10^12).


    #include<iostream>
    #include<math.h>
    using namespace std;
    main()
    {
    int test;
    cin >> test;
    while(test--)
    {
    long long n;
    cin >> n;
    long long tong = 0;
    for(int i=1;i<=sqrt(n);i++)
    {
    if(n%i==0)
    {
    tong = tong + i + n/i;
    if(i*i==n)
    {
    tong = tong -i;
    }
    }
    }
    cout << tong << endl;
    }
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    1. Bạn nên xem lại tool chấm có nạp test qua cin ko [IMG]images/smilies/smile.png[/IMG]
    2. Điều kiện trong vòng for này phải bỏ dấu =, chuyện đó xét sau.
    3. sizeof(long long) = ?

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    bạn bị lỗi syntax hay lỗi cú pháp. ?

    mình chạy thấy ra kết quả đúng mà.
    vd: nhập n=4 --> tong = 7. (1+2+4).
    n=6 --> tong= 12 (1+2+3+6)
    mình thêm 2 dòng cout<< .

    #include<iostream>
    #include<math.h>
    using namespace std;
    void main()
    {
    int test;

    cout<<"Nhap vao test: ";
    cin >> test;
    while(test--)
    {
    long n;
    cout<<"Nhap vao n: ";
    cin >> n;
    long tong = 0;
    for(int i=1;i<=sqrt(n);i++)
    {
    if(n%i==0)
    {
    tong = tong + i + n/i;
    if(i*i==n)
    {
    tong = tong -i;
    }
    }
    }
    cout << tong << endl;
    }
    }



    Mời các bạn ghé thăm blog cá nhân của tôi

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •