A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

DYKJ12

初级黑马

  • 黑马币:13

  • 帖子:6

  • 精华:0

© DYKJ12 初级黑马   /  2014-7-10 18:15  /  1338 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 DYKJ12 于 2014-7-11 08:52 编辑

最近正在学习C语言,今天有一道题解不出来,求帮助。用C语言分解质因数,打印出这个样子:90=2*3*3*5

6 个回复

倒序浏览
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

2.程序源代
void  main()
{
int n,i;
printf("\nplease input a number:\n");
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<=n;i++)
 {
  while(n!=i)
  {
   if(n%i==0)
   { printf("%d*",i);
    n=n/i;
   }
   else
    break;
  }
}
printf("%d",n);}

点评

赞!  发表于 2014-7-10 20:07
回复 使用道具 举报 1 0
我之前做过类似的题。直接复制给你了。你看看吧。
回复 使用道具 举报
:)不错 来学习一下
回复 使用道具 举报
{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}
回复 使用道具 举报
追马 发表于 2014-7-10 18:17
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n, ...

恩恩。看看你的回复我就懂了。感谢。但是我没找到哪里有按钮能给你加分。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马