用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;
}
望采纳
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<<'='<
}
望采纳
全部回答
- 1楼网友:猎心人
- 2021-03-17 13:53
我可以帮你写这个程序!
- 2楼网友:刀戟声无边
- 2021-03-17 12:56
第一个因数分解问题思路很简单,但是写起来可能会比较烦 另外注明,因数分解大合数是个世界级难题 伪代码如下: 从小到大生成2到sqrt(n)范围内的素数表prime[],表中元素个数为p//生成方法很多,建议自己找一下 for(i=0;i<p;i++) { while (n%prime[i]==0)//如果n不是素数,不可能进入此while循环 { 输出prime[i] n/=prime[i]; } if (n>1) 输出n//此时n本身就是个素数 } 费波纳契分解自然数n相对好写一些 从小到大生成1到n范围内的斐波那契数列f[],数列个数m for (i=m-1;n && i>=0;i--) if (n>=f[i]) { 输出f[i] n-=f[i]; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯