概述
#include<iostream>
using namespace std;
int main()
{
int shu; //变量数字
cin>>shu;
int *zhen_yinzi=new int[shu]; //不知道变量因子有多少个,所以用指针指向
int index=0; //个数索引的辅助变量
int sum=0;
zhen_yinzi[0]=1; //所有数字都有真因子1
for(int i=2;i<shu;i++) //循环查找,真因子记入数组
{
if(shu%i==0)
{
index ++;
zhen_yinzi[index]=i;
}
}
for(int j=0;j<=index;j++) //真因子求和
{
sum+=zhen_yinzi[j];
}
delete[] zhen_yinzi; //释放内存
zhen_yinzi=NULL;
if(sum==shu) //判断
cout<<shu<<"是完数"<<endl;
else
cout<<shu<<"不是完数"<<endl;
return 0;
}
来自侯晓琴《c++程序设计经典300例》
转载于:https://my.oschina.net/u/3193340/blog/839412
最后
以上就是重要爆米花为你收集整理的018 求完数(初识数组指针)的全部内容,希望文章能够帮你解决018 求完数(初识数组指针)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复