C++程序阅读题:#include <iostream> using namespace std?

程序阅读#include<iostream>usingnamespacestd;intmain(){intnum=99;intk=2;cout<<num<<"=";whi... 程序阅读

#include <iostream>
using namespace std;

int main()
{
int num=99;
int k = 2;
cout<<num<<"=";
while (num >= k) {
if (num % k == 0) {
cout<<k;
num = num / k;
if(num!=1) cout<<"*";
}else if (num % k != 0) { //***
k++;
}
}
}

1. 请写出上面这段代码的运行结果。
2. 将代码中的num修改为100之后,运行结果是什么?
3. 将代码中的num修改为999之后,运行结果是什么?
4. 上面这段代码的功能是什么?
5. 该算法是否存在效率低下的问题?有无办法进行适当改善?(文字说明即可,无需编写代码)
6. 代码中带有***注释的代码行是否可以改进?说明原因。
展开
 我来答
乘风破浪的轮船abcde
2020-05-16 · 生活不止有眼前的苟且,还有互联网
乘风破浪的轮船abcde
采纳数:522 获赞数:973

向TA提问 私信TA
展开全部
  1. 运行结果为99=3*3*112.

  2. num修改为100之后,运行结果是100=2*2*5*5

  3. num修改为999之后,运行结果是999=3*3*3*37

  4. 上面这段代码的功能是进行质因数分解。

  5. 该算法已经是质因数算法中最优的了,不存在效率低下的问题,没有办法进行改善了。

  6. 代码中带有***注释的代码行可以改进,

    else if (num % k != 0)里面的num %k 运算多余,在if里面已经运算过了,直接写成else即可。

请采纳,谢谢。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式