鱼C论坛

 找回密码
 立即注册
查看: 1669|回复: 0

[新人报道] C语100题——14

[复制链接]
发表于 2020-6-29 14:56:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 LH魔王 于 2020-7-1 17:52 编辑
#if(0)
第14题:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5.
#endif 

#include<stdio.h>
#include<math.h>

int judgement(int x)
{
        int j;
        if(sqrt(x)<2)
        {
                return x;
        }
        else
        {
                for(j=2;j<=sqrt(x);j++)
                {
                        if(x%j==0)
                        {
                                return j;
                                break;
                        }
                        if(j==(int)sqrt(x))
                        {
                                if(x%j != 0)
                                {
                                        return x;
                                }
                        }
                }
        }        
}

int main()
{
        int obj,result,n,total=1;
        printf("请输入一个整数:");
        scanf("%d",&obj);
        n=obj;
        result=judgement(n);
        if(result==obj)
        {
                printf("您所输入的整数为素数!\n");
                printf("%d=1*%d",obj,obj);
        }
        
        else
        {
                printf("%d=",obj);
                while(1)
                {
                        total=total*result;
                        printf("%d*",result);
                        n=n/result;
                        result=judgement(n);
                        if(total==obj)
                        {
                                break;
                        }                
                }
                printf("1");
        }
        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 14:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表