| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 956 人关注过本帖
标题:麻烦大神帮我看一下这道题代码哪里出错了?
取消只看楼主 加入收藏
matlab学习者
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-8
收藏
 问题点数:0 回复次数:2 
麻烦大神帮我看一下这道题代码哪里出错了?
题目内容:
每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。

现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。

提示:可以用一个函数来判断某数是否是素数。

输入格式:
一个整数,范围在[2,100000]内。

输出格式:
形如:
n=axbxcxd

n=n
所有的符号之间都没有空格,x是小写字母x。abcd这样的数字一定是从小到大排列的。
[code][/#include<stdio.h>
int prime( int a)
{
    int ret,k=0;
    if(a==2) {
    ret=1;} else{   
    for(int i=2;i<=a-1;i++){   
        if(a%i==0){
            ret=0;break;
        }else   k++;
        if(k>=a-2) ret=1;
    } }return ret;
}
int main(){
    int i=1,a,b,k=0,j,d;
    scanf("%d",&a);
    printf("%d=",a);
    do {
        i++;
        k=prime(i);
        j=prime(a);
        if(k) {
          while(!j&&a%i==0){
                  a=a/i;
                  j=prime(a);
                  d++;
                  if(d==1) {
                  printf("%d",i);}
                  else printf("x%d",i);
              
          }
        }
    } while(!j);
    if(d==0) {
          printf("%d",a);}
          else  printf("x%d",a);
}code]
搜索更多相关主题的帖子: include 质因数 字母 
2016-12-10 20:59
matlab学习者
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-8
收藏
得分:0 
回复 2楼 marlow
我刚刚测试了一下,好像也不行,可以再帮我看看吗?谢谢
2016-12-10 21:32
matlab学习者
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2016-12-8
收藏
得分:0 
回复 4楼 marlow
题目要求输入的整数在2到10000之间
2016-12-10 22:07
快速回复:麻烦大神帮我看一下这道题代码哪里出错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017435 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved