永发信息网

C语言 因式分解

答案:2  悬赏:80  手机版
解决时间 2021-01-24 20:42
C语言 因式分解
最佳答案
#include 
int first(int n)//函数功能为找到第一个因子。
{
    int r=2;
    while(n%r) r++;
    return r;
}
int main()
{
    int n;
    int a;
    scanf("%d",&n);
    a=first(n);
    printf("%d=%d",n,a);
    n/=a;
    while(n!=1)
    {
        a=first(n);
        printf("*%d", a);
        n/=a;
    }
    printf("
");
    return 0;
}
全部回答
#include
#include
#include
  
  
unsigned int m=2;
unsigned int cnt=1;
  
void Factor(int n, char *msg, char printYes);
int main()
{
    char s[100]={0};
    char flag='y';
    printf("------求整数的因式分解------ 请输入正整数m(>1):");
    scanf("%u", &m);
    printf("打印详细分解情况吗?[y|n,回车打印]");
    scanf("%*c%c",&flag);
    if(m<1)
    {
        printf("error input! ");
        exit(-1);
    }
    if(flag!='n')
        printf("%d =  %d  ", m,m);
    Factor(m, s,flag);
    if(cnt==1)
        printf(" %d是素数 ",m);
    printf(" ------");
    printf("一共有%d种", cnt);
    printf("------ ");
    return 0;
}
  
void Factor(int n, char *msg,char printYes)
{
    char s2[100]={0};//保存当前分解的部分结果
    if(n==1)
        return ;
    for(int i=2;i    {
        if (n%i==0)
        {
            if(n==m)
                sprintf(msg, "%d = ", m);
            sprintf(s2,"%s %d * ",msg, i);//因式分解部分结果保存在字符串s2中
  
            if(printYes!='n')
                printf("%s %d ",s2,n/i);//打印结果(包括最后一个因子)
            Factor(n/i,s2,printYes);
            cnt++;
        }
    }
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
宏达密封件厂怎么去啊,有知道地址的么
一般rom包是什么格式的,如果是压缩包,卡刷
需要什么原料,具体步骤是什么,
如何保护地球环境
风云三国怎么获得荣誉,说详细点
【十二个为什么】为什么一年有十二个月十二个
茗门帝都地址好找么,我有些事要过去
学缘结构是什么意思 20分
高考体检中判断耳朵有问题是什么问题需要
益生园茶楼地址在哪,我要去那里办事
不同溶液中同一离子浓度的大小比较如在0.1mol
【蚂蚁不喜欢吃什么】蚂蚁不喜欢吃什么用英语
满天星到底有没有毒
下列关于行甲状腺双侧次全切术,术中操作描述
吴祁县距离延安市多少公里
推荐资讯
QQ飞车卡怎么回事?
中国移动(大屯1店)怎么去啊,我要去那办事
失眠多少笔划
【热力学和流体力学买什么书看好如题,准备学
中国移动(小岛指定专营店)怎么去啊,我要去那
我猜你一辈子都不会原谅我了!也好,你要好好
炸“鹅脖”的做法,炸“鹅脖”怎么做
镁、铁、幸各30克,与盐酸反应生成氢气多少克?
情人节女朋友送我灯是什么意思
外国色狼顶女人臂部
红顶凤凰形象工作室怎么去啊,我要去那办事
艾菲露美容养生馆地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?