永发信息网

C++ 编程实现对大于1的整数进行质因数分解,并求出其和。所谓整数的质因子分解是指将整数分解为其所有质数

答案:2  悬赏:50  手机版
解决时间 2021-02-05 17:26
  • 提问者网友:黑米和小志
  • 2021-02-05 14:35
编程实现对大于1的整数进行质因数分解,并求出其和。所谓整数的质因子分解是指将整数分解为其所有质数(素数)因数的积,例如,60=2*2*3*5,则整数60的质因数之和为12。定义一个类Decompose实现上述功能。
具体要求如下:
(1) 私有数据成员
●int *a:指向存放对应整数的质因数之和的动态存储空间。
●int *num:指向待分解质因数整数的动态存储空间。
●int n:整数的个数。
(2) 公有数据成员
●Decompose(int m,int b[]):用m初始化n,并用n初始化为动态申请空间的指针a与num。用参数b给数组a赋值。
●void primenum():求整数a[i]的所有质因数,并将这些质因数之和存放到指针num所指向的存储空间中。
●-Decompose():释放动态分配的存储空间。
(3) 在主函数中完成对该类的测试。从键盘输入一组大于1的整数,存放在number数组中,定义类Decompose的对象d,并用number初始化d,调用函数primenum()求number的所有质因数,最后输出测试结果.
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-02-05 15:29
最讨厌伸手党
全部回答
  • 1楼网友:一袍清酒付
  • 2021-02-05 17:01
#include <iostream> using namespace std; void main(){ int a,b,c,d,f; cin >>a >>b; for(int i=a; i<=b; i++){ cout <<i <<"="; c=i, d=2, f=1; while(c>d){ if(c%d==0){ if(f){ cout <<d; f=0; }else cout <<"*" <<d; c/=d; }else d++; } if(f==0) cout <<"*"; cout <<c <<endl; } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯