演算法訓練 完數
演算法訓練 完數
時間限制:1.0s 記憶體限制:512.0MB
問題描述
一個數如果恰好等於它的因子之和,這個數就稱為“完數”。例如,6的因子為1、2、3,而6=1+2+3,因此6就是“完數”。又如,28的因子為1、2、4、7、14,而28=1+2+4+7+14,因此28也是“完數”。編寫一個程式,判斷使用者輸入的一個數是否為“完數”。
輸入格式:輸入只有一行,即一個整數。
輸出格式:輸出只有一行,如果該數為完數,輸出yes,否則輸出no。
輸入輸出樣例
樣例輸入
6
樣例輸出
yes
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char** argv) {
int n;
cin>>n;
int sum=0;
for(int i=1;i<=n/2;i++)
if(n%i==0)
sum+=i;
if(sum==n)
cout<<"yes";
else
cout<<"no";
return 0;
}
相關推薦
演算法訓練 完數
演算法訓練 完數 時間限制:1.0s 記憶體限制:512.0MB 問題描述 一個數如果恰好等於它的因子之和,這個數就稱為“完數”。例如,6的因子為1、2、3,而6=1+2+3,因此6就
ALGO-117演算法訓練 友好數(c++)
演算法訓練 友好數 時間限制:1.0s 記憶體限制:256.0MB 問題描述 有兩個整數,如果每個整數的約數和(除了它本身以外)等於對方,我們就稱這對數是友好的。例如: 9的約數和有
ALGO-152 演算法訓練 8-2求完數
演算法訓練 8-2求完數 時間限制:50.0s 記憶體限制:256.0MB 問題描述 如果一個自然數的所有小於自身的因子之和等於該數,則稱為完數。設計演算法,列印1-9999之間的所有完數。 樣
演算法訓練 數的劃分
問題描述 將整數n分成k份,且每份不能為空,任意兩份不能相同(不考慮順序)。 例如:n=7,k=3,下面三種分法被認為是相同的。 1,1,5; 1,5,1; 5,1,1; 問有多少種不同的分法。 輸入格式
ALGO-93演算法訓練 反置數
演算法訓練 反置數 時間限制:1.0s 記憶體限制:512.0MB 問題描述 一個整數的“反置數”指的是把該整數的每一位數字的順序顛倒過來所得到的另一個整數。如果一個整數的末尾是以0結尾,那麼在它的
藍橋杯ALGO-147演算法訓練 4-3水仙花數
演算法訓練 4-3水仙花數問題描述列印所有100至999之間的水仙花數。所謂水仙花數是指滿足其各位數字立方和為該數字本身的整數,例如 153=1^3+5^3+3^3。樣例輸入一個滿足題目要求的輸入範例
演算法訓練 反置數 C語言實現
演算法訓練 反置數 題目: 問題描述 一個整數的“反置數”指的是把該整數的每一位數字的順序顛倒過來所得到的另一個整數。如果一個整數的末尾是以0結尾,那麼在它的反置數當中,這些0就被省略掉了。比如
藍橋杯演算法訓練-k好數
問題描述 如果一個自然數N的K進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求L位K進位制數中K好數的數目。例如K = 4,L = 2的時候,所有K好數為11、13、20、22、30、31、33 共7個。由於這個數目很大,請你輸出它對1000000
演算法訓練 方格取數(動態規劃)
問題描述 設有N*N的方格圖(N<=10),我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。 某人從圖的左上角的A 點(1,1)出發,可以向下行走,也可以向右走,直到到達右下角的B點(N,N)。在走過的路上,他可以取走方格中的數(取走後的方格中將變為數字0)。 此人從A點到
藍橋杯 演算法訓練 K好數 JAVA
import java.util.Scanner; class Main{ static int MOD=1000000007 ; public static void main(String[] args) { Scanner sc = new Scanne
寒假20:演算法訓練 迴文數
若一個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為迴文數。 例如:給定一個10進位制數56,將56加65(即把56從右向左讀),得到121是一個迴文數。 又如:對於10進位制數87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3
藍橋杯演算法訓練 k好數
如果一個自然數N的K進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求L位K進位制數中K好數的數目。例如K = 4,L = 2的時候,所有K好數為11、13、20、22、30、31、33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。
演算法訓練 方格取數 藍橋杯
問題描述 設有N*N的方格圖(N<=10),我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。 某人從圖的左上角的A 點(1,1)出發,可以向下行走,也可以向右走,直到到達右下角的B點(N,N)。在走過的路上,他可以取走方格中的數(取走後的方格中將
演算法訓練 數的劃分 (動態規劃)
演算法訓練 數的劃分 時間限制:1.0s 記憶體限制:256.0MB 問題描述 將整數n分成k份,且每份不能為空,任意兩份不能相同(不考慮順序)。 例如:n=7,k
演算法訓練 K好數 藍橋杯
對於30%的資料,KL <= 106; 對於50%的資料,K <= 16, L <= 10; 對於100%的資料,1 <= K,L <= 100。 本身想用搜索,然後資料太大了,看了提示,要用動態規劃。 也不能算典型的動態規劃,因為不存在最優子結構,只是用了重複利用
演算法訓練 寂寞的數
問題描述 道德經曰:一生二,二生三,三生萬物。 對於任意正整數n,我們定義d(n)的值為為n加上組成n的各個數字的和。例如,d(23)=23+2+3=28, d(1481)=1481+1+
藍橋網 演算法訓練 方格取數
問題描述 設有N*N的方格圖(N<=10),我們將其中的某些方格中填入正整數,而其他的方格中則放入數字0。 某人從圖的左上角的A 點(1,1)出發,可以向下行走,也可以向右走,直到到達右下角的B點(N,N)。在走過的路上,他可以取走方格中的數(取走後的方格中
藍橋杯 ALGO-3 演算法訓練 K好數 (動態規劃 DP)
如果一個自然數N的K進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求L位K進位制數中K好數的數目。例如K = 4,L = 2的時候,所有K好數為11、13、20、22、30、31、33 共7個。由於這個數目很大,請你輸出它對1000000007取模後的值。
藍橋杯(演算法訓練)——K好數
演算法描述 問題描述 如果一個自然數N的K進製表示中任意的相鄰的兩位都不是相鄰的數字,那麼我們就說這個數是K好數。求L位K進位制數中K好數的數目。例如K = 4,L = 2的時候,所有K好數為11、13、20、22、30、31、33 共7個。由於這個數目很大
藍橋杯 演算法訓練 迴文數
若一個數(首位不為零)從左向右讀與從右向左讀都一樣,我們就將其稱之為迴文數。 例如:給定一個10進位制數56,將56加65(即把56從右向左讀),得到121是一個迴文數。 又如:對於10進位制數87: STEP1:87+78 = 165 STEP2:165+561