蓝桥杯 算法训练 ALGO-152 8-2求完数
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯 算法训练 ALGO-152 8-2求完数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算法訓練 8-2求完數
時間限制:50.0s 內存限制:256.0MB
問題描述
如果一個自然數的所有小于自身的因子之和等于該數,則稱為完數。設計算法,打印1-9999之間的所有完數。
樣例輸出
與上面的樣例輸入對應的輸出。
例:
例:
數據規模和約定
1-9999
題目解析:
在求一個自然數的因子時,只需要從 1 循環到該自然數一半加一取余即可,這樣可以將循環次數縮短 1 / 2 ,提高運行速度。
示例代碼:
public class Main {
public static void main(String[] args) {
for(int i = 1; i <= 9999; i++){ //數據規模
int sum = 0;
for(int j = 1; j < i/2+1; j++){ //因子數
if(i%j==0)
sum += j; //累加因子和
}
if(sum == i)
System.out.println(i);
}
}
}
總結
以上是生活随笔為你收集整理的蓝桥杯 算法训练 ALGO-152 8-2求完数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 冷热冲击试验箱的原理与应用:加速产品的耐
- 下一篇: 一次完整的HTTP请求