阿帕茶次 2023-11-10 23:08 采纳率: 51.7%
浏览 2
已结题

分解质因数,改变变量的类型会增加运算时间是为什么?

img

img

img

img

img

1自己在devc++里面运行,试了很多种数字,结果都正确,但是在网站提交时便不正确,想问一下这是代码问题还是网站的问题?
2 在14 18行时自己将count!=0改成count!=1,结果分数更低,运行时间也增加,这是为什么?这样改主要是因为考虑到2,如果按照count!=0,那运行时不应该是出现2=2^1吗,我运行了一下,发现是2=2,我就有点茫然。
然后
我就改了另一种形式,也就是再增加一个else if用来判断count==1时怎么输出,结果分数低,如图

img

img


问题有点多,求友友帮助!

  • 写回答

2条回答 默认 最新

  • 柯本 2023-11-10 23:54
    关注

    我测试了下你的程序,的确有数据有问题,我稍改了下,你再试试:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
      int n, i, count = 0;
      int fir = 0;
      scanf("%d", &n);
      int tn = n;
      printf("%d=", n);
      for (i = 2; i <= n / i; i++)
        {
          count = 0;
          while (n % i == 0)
            {
              count++;
              n /= i;
            }
          if (count != 0)
            {
              if (fir == 0)
                fir = 1;
              else
                printf("*");
              if (count > 1)
                printf("%d^%d", i, count);
              else
                printf("%d", i);
            }
        }
      if (tn == n)
        printf("%d", tn);
      else if (n > 1)
        printf("*%d", n);
      return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月10日

悬赏问题

  • ¥15 静电纺丝煅烧后如何得到柔性纤维
  • ¥15 (标签-react native|关键词-镜像源)
  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型
  • ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
  • ¥15 matlab代码 关于微分方程和嵌套的分段函数。