KaQqi 发表于 2019-4-14 15:29

用递归解决因式分解问题

很简单。#include <stdio.h>

int IsSuShu(int x)//是返回1,不是返回0
{
        if(x==1||x==2) return 1;
        for(int i = 2;i*i <= x;i++)
        {
                if(x%i == 0) return 0;
        }
        return 1;
}

int YinShiFenJie(int x)
{
        if(IsSuShu(x))
        {
                printf("%d ",x);
                return 0;
        }
        for(int i = 2;i<x;i++)
        {
                if(x%i == 0)
                {
                        YinShiFenJie(i);
                        YinShiFenJie(x/i);
                        return 0;
                       
                }
        }
       
}

int main()
{
        int number;
        scanf("%d",&number);
        YinShiFenJie(number);
        return 0;
}

huzpsb 发表于 2019-4-14 16:10

加个好友,一起进步?
洛谷号:huzpsb

KaQqi 发表于 2019-4-14 16:25

本帖最后由 KaQqi 于 2019-4-14 16:27 编辑

huzpsb 发表于 2019-4-14 16:10
加个好友,一起进步?
洛谷号:huzpsb
我算法太菜了...
我还是喜欢玩逆向
我落谷账号_KaQqi
页: [1]
查看完整版本: 用递归解决因式分解问题