返回列表 發帖

202409新手3-因數計算factors


因數計算 (Factor)

問題敘述
在數學中,若自然數 a 可以被自然數 b 整除,則我們稱 b 為 a 的因數。1 是所有正整數的因數;所有正整數,也是自己的因數。
現在給定一區間 x 到 y,求區間內(含 x 和 y)擁有最多因數的正整數 N 及其因數個數 M;若有多個 N,請給出較小的數。
輸入格式


輸出格式

輸出兩個正整數 N 和 M,N 表示區間內含有最多因數的正整數,M 表示因數個數;若區間內有多個符合條件的 N,請輸出最小的。
輸入範例 1
13 19

輸出範例 1
18 6

輸入範例 2
1 3

輸出範例 2
2 2

評分說明
此題目測資分為兩組,每組測資有多筆測試資料,需答對該組所有測資才能獲得該組分數,各組詳細限制如下。
第一組 (20 分):0 < x < y < 10。
第二組 (80 分):無特別限制。
https://zerojudge.tw/ShowProblem?problemid=o580
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊
May

  1. #include <bits/stdc++.h>

  2. using namespace std;

  3. int main()
  4. {
  5.     int x, y;
  6.     cin >> x >> y;
  7.     int max = 0, maxNum = 0, cnt = 0;
  8.     for (int i = x; i <= y; i++) // 查詢整個區間
  9.     {
  10.         cnt = 0;
  11.         for (int j = 1; j <= i; j++) // 確認因數數量
  12.         {
  13.             if (i % j == 0)
  14.             {
  15.                 cnt += 1;
  16.             }
  17.         }
  18.         if (cnt > max) // 如果為當前最大 則更新結果
  19.         {
  20.             max = cnt;
  21.             maxNum = i;
  22.         }
  23.     }
  24.     cout << maxNum << " " << max << endl;
  25. }
複製代碼
May

TOP

返回列表