暴力解法破解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);
}
}
}
相關文章
- PTA 天梯賽備賽 L1-006 連續因子 (20 分)(搜尋)
- 暴力破解
- 什麼是暴力破解?暴力破解的方法有哪些?
- 暴力破解測試
- 迭代暴力破解域名工具
- Linux防止SSH暴力破解Linux
- web類靶機暴力破解Web
- DVWA-Brute Force暴力破解
- 暴力破解zip加密檔案加密
- zzuli 20級第八次周賽 2750: 連續因子
- dvwa-暴力破解(low-high)
- burpsuite暴力破解之四種方式UI
- 暴力破解-基於Pikachu的學習
- 使用python暴力破解mysql資料庫PythonMySql資料庫
- Spring Boot如何防暴力破解攻擊?Spring Boot
- 100251. 陣列中的最短非公共子字串 暴力解法陣列字串
- Linux應急響應(一):SSH暴力破解Linux
- Centos7使用DenyHosts防止ssh暴力破解CentOS
- Wireshark駭客發現之旅(4)——暴力破解
- pikachu 基於表單的暴力破解(一)
- burpsuite暴力破解的四種攻擊方式UI
- DNS暴力破解工具Fierce常用命令DNS
- 普通網站防暴力破解的新設計網站
- fail2ban防暴力破解介紹使用AI
- 力扣 1512. 好數對的數目(超簡單暴力解法)力扣
- LeetCode 每日一題,用 Go 實現兩數之和的非暴力解法LeetCode每日一題Go
- Linux裝置淪為礦機,黑客暴力破解SSHLinux黑客
- Python攻防-暴力破解附近區域網WIFI密碼PythonWiFi密碼
- 使用 fail2ban 防 linux ssh 被暴力破解AILinux
- leetcode 解題 3. 無重複字元的最長子串-python3@ 官方,暴力解法和視窗滑動解法LeetCode字元Python
- 用python暴力破解rar加密檔案(經過測試)Python加密
- 如何通過Python暴力破解網站登陸密碼Python網站密碼
- 用生成模型為自己生成密碼,無懼暴力破解模型密碼
- 某學院存在資訊洩露及暴力破解漏洞
- Linux 修改預設SSH埠 22,避免被暴力破解密碼Linux解密密碼
- 小白學習CTF第十二天-web安全暴力破解Web
- Python暴力破解網站登入密碼(帶token驗證)Python網站密碼
- 安全乾貨,使用fail2ban避免ssh被暴力破解AI