nguyen ngoc tuan tu
Trong đội tuyển Toán của Trường có bạn Minh rất thông minh , bạn đã xây dựng một dãy vô số hạn A từ các dãy số nguyên dương bằng cách lần lượt xét các số tự nhiên bắt đầu từ 1 và lần lượt chọn các số cho dãy A theo quy tắc : chọn một số chia hết cho 1 ( hiển nhiên là số 1), sau đó hai số chia hết cho 2 , tiếp theo là 3 số chia hết cho 3, 4 số chia hết cho 4 , 5 số chia hết cho 5 ... Như vậy các số đầu tiên của dãy A là : 1,2,4,6,9,12,16,20,24,28,30,35,40,45,50,... Bạn Minh đã tìm ra quy luật xác định một cách nhanh chóng các phần tử của dãy. Bạn là một người lập trình giỏi , hãy giúp các bạn đội tuyển Toán viết chương trình kiểm tra quy luật mà bạn Minh tìm ra đúng hay không. Yêu cầu : Cho số tự nhiên N. Xác định số thứ N của dãy số. Ví dụ: Input: 10 Output: 28 Làm bằng C++ Mng giúp em với em đag cần rất gấp ạ _(|)_
Hoang Phuc
1 tháng 10 2023 lúc 20:49

#include <iostream>

using namespace std;

// Hàm tính số thứ N của dãy số
int soThuN(int N) {
  // Tìm số nguyên tố nhỏ nhất lớn hơn hoặc bằng N
  int p = 2;
  while (p * p <= N) {
    p++;
  }

  // Tính số phần tử của dãy số nhỏ hơn hoặc bằng N
  int n = 0;
  for (int i = 1; i <= p; i++) {
    n += (N / i) + 1;
  }

  // Tính số thứ N của dãy số
  int x = 1;
  for (int i = 1; i <= n; i++) {
    x += (i - 1) * p;
  }

  return x;
}

int main() {
  int N;
  cin >> N;

  // In ra số thứ N của dãy số
  cout << soThuN(N) << endl;

  return 0;
}

Bình luận (0)

Các câu hỏi tương tự
Hiếu Nguyễn
Xem chi tiết
Long ca ca
Xem chi tiết
Trần Văn Việt Hùng
Xem chi tiết
Nguyễn Hiếu Minh
Xem chi tiết
Nguyễn Anh Quân
Xem chi tiết
Trần Nguyễn Tuấn Anh
Xem chi tiết
Vy Nguyễn Hà Thảo
Xem chi tiết
Bé Kunz
Xem chi tiết
Nguyễn An Mây
Xem chi tiết