用c#!!输入一个数如果是质数则输出该数是质数,如果是合数用质因子乘积的形式输出来如8=2*2*2

 我来答
178******56
推荐于2016-07-22 · TA获得超过124个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:681万
展开全部

好玩,用奇数循环了一下

/*用c#!!输入一个数如果是质数则输出该数是质数,如果是合数用质因子乘积的形式输出来如8=2*2*2*/

        int 自然数 = int.Parse(Console.ReadLine());

        bool 判 = true;

        foreach (int 除数 in Enumerable.Range(2, 自然数 - 2))

        {

            if (自然数 % 除数 == 0)

            {

                判 = true;

                break;

            }

            else 判 = false;

        }

        if (!判)

        {

            Console.WriteLine(自然数 + " 质数");

            判 = true;

        }

        else

        {

            int 数 = 1, 验 = 2; string 算式 = "";

            foreach (int 除数 in Enumerable.Range(2, 自然数 - 2))

                if (自然数 % 除数 == 0)

                    while (验 <= 自然数 / 除数)

                        if ((int)Math.Pow(除数, 验++) == 自然数)

                        {

                            while (数 < 自然数)

                            {

                                数 *= 除数;

                                算式 += 数 < 自然数 ? 除数.ToString("0*") : 除数.ToString();

                            }

                            判 = false;

                            break;

                        }

            Console.WriteLine(判 ? "非质数、合数" : 自然数 + " 合数:" + 算式);

        }

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式