永发信息网

用c++编程,让用户输入一个大于1的自然数,计算它的所有因子之和

答案:3  悬赏:60  手机版
解决时间 2021-03-17 16:25
  • 提问者网友:沉默菋噵
  • 2021-03-17 12:35
用c++编程,让用户输入一个大于1的自然数,计算它的所有因子之和
最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-03-17 12:44
#include
using namespace std;
int main()
{
    int a,sum=1;
    cin>>a;
    cout<<"因子之和"<<'='<<'1';
    for(int i=2;i<=a;i++)
    {
        if(a%i==0)
            {sum=sum+i;
        cout<<'+'<     }
    cout<<'='<     return 0;
}
望采纳
全部回答
  • 1楼网友:猎心人
  • 2021-03-17 13:53
我可以帮你写这个程序!
  • 2楼网友:刀戟声无边
  • 2021-03-17 12:56
第一个因数分解问题思路很简单,但是写起来可能会比较烦 另外注明,因数分解大合数是个世界级难题 伪代码如下: 从小到大生成2到sqrt(n)范围内的素数表prime[],表中元素个数为p//生成方法很多,建议自己找一下 for(i=0;i&lt;p;i++) { while (n%prime[i]==0)//如果n不是素数,不可能进入此while循环 { 输出prime[i] n/=prime[i]; } if (n&gt;1) 输出n//此时n本身就是个素数 } 费波纳契分解自然数n相对好写一些 从小到大生成1到n范围内的斐波那契数列f[],数列个数m for (i=m-1;n &amp;&amp; i&gt;=0;i--) if (n&gt;=f[i]) { 输出f[i] n-=f[i]; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯