?? xt3-20-1.cpp
字號:
#include <iostream>
using namespace std;
int main()
{const int m=1000; // 定義尋找范圍
int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;
int i,a,n,s;
for (a=2;a<=m;a++) // a是2~1000之間的整數(shù),檢查它是否為完數(shù)
{n=0; // n用來累計a的因子的個數(shù)
s=a; // s用來存放尚未求出的因子之和,開始時等于a
for (i=1;i<a;i++) // 檢查i是否為a的因子
if (a%i==0) // 如果i是a的因子
{n++; // n加1,表示新找到一個因子
s=s-i; // s減去已找到的因子,s的新值是尚未求出的因子之和
switch(n) // 將找到的因子賦給k1,...,k10
{case 1:
k1=i; break; // 找出的笫1個因子賦給k1
case 2:
k2=i; break; // 找出的笫2個因子賦給k2
case 3:
k3=i; break; // 找出的笫3個因子賦給k3
case 4:
k4=i; break; // 找出的笫4個因子賦給k4
case 5:
k5=i; break; // 找出的笫5個因子賦給k5
case 6:
k6=i; break; // 找出的笫6個因子賦給k6
case 7:
k7=i; break; // 找出的笫7個因子賦給k7
case 8:
k8=i; break; // 找出的笫8個因子賦給k8
case 9:
k9=i; break; // 找出的笫9個因子賦給k9
case 10:
k10=i; break; // 找出的笫10個因子賦給k10
}
}
if (s==0) // s=0表示全部因子都已找到了
{cout<<a<<" is a 完數(shù)"<<endl;
cout<<"its factors are:";
if (n>1) cout<<k1<<","<<k2; // n>1表示a至少有2個因子
if (n>2) cout<<","<<k3; // n>2表示至少有3個因子,故應再輸出一個因子
if (n>3) cout<<","<<k4; // n>3表示至少有4個因子,故應再輸出一個因子
if (n>4) cout<<","<<k5; // 以下類似
if (n>5) cout<<","<<k6;
if (n>6) cout<<","<<k7;
if (n>7) cout<<","<<k8;
if (n>8) cout<<","<<k9;
if (n>9) cout<<","<<k10;
cout<<endl<<endl;
}
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -