C++ 中查詢積小於 N 的有序對


給定一個數字 N。目標是找到正數的有序對,使得它們的乘積小於 N。

我們將從 i=1 到 i<N 和 j=1 到 (i*j)<N 開始。然後遞增計數。

讓我們透過示例來理解。

輸入 

N=4

輸出 

Ordered pairs such that product is less than N:5

解釋 

Pairs will be (1,1) (1,2) (1,3) (2,1) (3,1)

輸入 

N=100

輸出 

Ordered pairs such that product is less than N: 473

解釋 

Pairs will be (1,1) (1,2) (1,3)....(97,1), (98,1), (99,1). Total 473.

下面程式中使用的方案如下

  • 我們取整數 N。

  • 函式 productN(int n) 取 n 並返回積 < n 的有序對的數量

  • 將初始變數 count 設為 0 以表示對。

  • 使用兩個 for 迴圈遍歷以構成對。

  • 從 i=1 到 i<n 開始。以及 j=1 到 (i* j)<n。

  • 將 count 增加 1。

  • 在所有迴圈結束時,count 將包含此類對的總數。

  • 返回 count 作為結果。

示例

 線上演示

#include <bits/stdc++.h>
using namespace std;
int productN(int n){
   int count = 0;
   for (int i = 1; i < n; i++){
      for(int j = 1; (i*j) < n; j++)
         { count++; }
   }
   return count;
}
int main(){
   int N = 6;
   cout <<"Ordered pairs such that product is less than N:"<<productN(N);
   return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

Ordered pairs such that product is less than N:10

更新於: 2020-10-31

94 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告