暴力解法破解PTA L1-006 連續因子 (20分)
L1-006 連續因子 (20分)
一個正整數 N 的因子中可能存在若干連續的數字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 N,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出一個正整數 N(1<N<2的31次方)。
輸出格式:
首先在第 1 行輸出最長連續因子的個數;然後在第 2 行中按 因子1因子2……*因子k 的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1 不算在內。
輸入樣例:
630
輸出樣例:
3
5*6*7
易錯點分析:
表示整數的方式,因為最長是2的32次方,所以整數的型別需要是long
最終解決方法:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long num = scanner.nextInt();
// 使用暴力解法
long start = 0;
long len = 0;
for (int i = 2; i < Math.sqrt(num); i++) {
long sum = 1;
for (int j = i; sum * j < num; j++) {
sum *= j;
// 當出現大於len的情況下,更新len和start的位置
if(num % sum == 0 && j - i + 1 > len) {
start = i;
len = j - i + 1;
}
}
}
// 說明個根本就沒有
if(start == 0) {
start = num;
len = 1;
}
System.out.println(len);
System.out.printf("%d", start);
for (int i = 1; i < len; i++) {
System.out.printf("*%d", start + i);
}
}
}
相關文章
- 禁用登錄檔之暴力破解法。 (4千字)
- 也談《傲世三國》的暴力破解法 (11千字)
- 暴力破解
- 什麼是暴力破解?暴力破解的方法有哪些?
- SQL查詢連續號碼段的解法(例項)SQL
- 轉 SQL查詢連續號碼段的巧妙解法SQL
- 暴力破解測試
- kali暴力破解教程
- 學習-SQL查詢連續號碼段的巧妙解法SQL
- 美萍電腦安全衛士(V7.52標準版)終極破解(註冊法 & 暴力破解法) (1千字)
- 迭代暴力破解域名工具
- Linux防止SSH暴力破解Linux
- DVWA-Brute Force暴力破解
- web類靶機暴力破解Web
- 暴力破解zip加密檔案加密
- 推箱子V2.5完美破解法
- 【PTA】 學生成績錄入及查詢 (20分)
- Update NOW 2000 暴力破解方法! (8千字)
- 流光2001完全暴力破解 (3千字)
- 6-1 二分查詢 (20分) PTA 資料結構資料結構
- [滲透測試] Hydra暴力破解
- 暴力破解3 (6千字)
- Webmin 暴力破解+ 執行命令(轉)Web
- PTA 檢查密碼 (15分)密碼
- Wireshark駭客發現之旅(4)——暴力破解
- dvwa-暴力破解(low-high)
- fail2ban 防止ssh暴力破解AI
- 服務認證暴力破解工具Crowbar
- Violent Python 暴力破解zip檔案Python
- SYSTEM CLEANER 暴力破解 (1千字)
- 暴力破解太陽鏡++ (607字)
- 暴力破解-基於Pikachu的學習
- winhex9.82快速破解法!! (1千字)
- 【超硬核】- python 3分鐘實現暴力破解wifi密碼EXE應用PythonWiFi密碼
- 分塊——優雅的暴力
- WinImage密碼的另一種破解――WinHex破解法 (2千字)密碼
- SQL根據分組求連續範圍SQL
- Centos7使用DenyHosts防止ssh暴力破解CentOS