/*
6
6 = 1 + 2 + 3
28
28 = 1 + 2 + 4 + 7 + 14
1024
0
Press any key to continue
*/
#include
#include
int main() {
int i,j,n,num,sum,a[16];
while(scanf("%d",&num) == 1 && num > 0) {
j = 0;
sum = 0;
for(n = 1; n <= num / 2; ++n) {
if(num % n == 0) {
sum += n;
a[j++] = n;
}
}
if(sum == num) {
printf("%d = ",num);
for(i = 0; i < j; ++i) {
if(i == j - 1) printf("%d",a[i]);
else printf("%d + ",a[i]);
}
printf("\n");
}
}
return 0;
}
// Try:
#include
using namespace std;
bool IsPerfectNumber(int a[10],int target){
int i,total,p_index;
bool YN=false;
total=p_index=0;
for (i=1;i{
if(target%i==0){
a[p_index++]=i;
total+=i;
}
if(total==target){
YN=true;
return YN;
}
}
return YN;
}
int main(){
int a[10]={0};
int question;
cout<<"请输入一个数:";
cin>>question;
if(IsPerfectNumber(a,question)){
cout<for (int i=0;i<10&&a[i]!=0;i++) cout< cout<<"\b除"< }
else cout<
return 1;
}
#include
using namespace std;
void main()
{
int a,b=0,i;
cin>>a;
for(i=1;i<=a/2;i++)
if(a%i==0)b+=i;
if(a==b)
{
cout< for(i=1;i<=a/2;i++)
if(a%i==0)cout< cout< }
else cout<}