| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4242 人关注过本帖
标题:如何求一个数的质因子之和?如6=1+2+3 8=1+2+2+2;本身为质数的输出 ...
只看楼主 加入收藏
走停停
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2011-3-31
结帖率:100%
收藏
 问题点数:0 回复次数:4 
如何求一个数的质因子之和?如6=1+2+3 8=1+2+2+2;本身为质数的输出其本身
#include<stdio.h>
void main()
{
    int x,i,j,b,s,m,a[15];
    scanf("%d",&x);
    m=x;
    for(i=2,j=0;i<x;i++)
    {
        if(x%i==0)
        {
            a[j]=i;
            s=s+i;
            x=x/i;
            i=2;
            j++;
        }
    }
    if(j==0)
        printf("%d\n",m);
    else
        if(s==m)
        {
           printf("%d=1*",m);
           for(b=0;b<=j;b++)
           {   
               printf("+");
               printf("%d\n",a[b]);
           }
        }
}
我的编程不知那出错了,输入5可以得到5,输入6或8之类的就没输出了
搜索更多相关主题的帖子: 如何 include 
2011-03-31 15:17
走停停
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2011-3-31
收藏
得分:0 
我知道8!=1+2+2+2   但想知道我编程错哪了
2011-03-31 15:22
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
s没有初始化

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-31 16:16
走停停
Rank: 2
等 级:论坛游民
帖 子:19
专家分:24
注 册:2011-3-31
收藏
得分:0 
s=0后,输入6,还是没输出
2011-03-31 17:26
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:0 
我觉得你误解了意思了
首先质因子是不能相同的,其次质因子之和不一定等于原数,1+2+3=6,那只是个巧合
建议:先写个判断质数的函数,再用一个循环体搜索出所有因子,再通过之前写的质数函数筛选因子,最好求质因子之和

我的地盘
2011-03-31 18:16
快速回复:如何求一个数的质因子之和?如6=1+2+3 8=1+2+2+2;本身为质数的 ...
数据加载中...
 
   



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

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