NT
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 ạ _(|)_
HP
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ự
HN
Xem chi tiết
LC
Xem chi tiết
TH
Xem chi tiết
NM
Xem chi tiết
NQ
Xem chi tiết
TA
Xem chi tiết
VT
Xem chi tiết
BK
Xem chi tiết
NM
Xem chi tiết