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