• 为素数的因数(函数与循环)


    【问题描述】
    请编写一个函数,完成以下计算:在主函数中接受输入整数N(N>0),调用函数计算并输出N的所有为素数的正因数,若没有则在返回主函数以后输出No Answer。

    【输入形式】
    从控制台输入整数N。

    【输出形式】
    按照从小到大的顺序,在一行上输出N的所有为素数的正因数,各个正因数之间用一个空格分隔,若没有则输出No Answer。

    【样例输入】 36

    【样例输出】 2 3

    【样例输入】 1

    【样例输出】 No Answer

    【样例说明】
    输入的整数N为36,36的所有正因数为1、2、3、4、6、9、12、18、36,其中只有2和3为素数,所以输出2 3。

    #include <iostream>
    #include <math.h>
    using namespace std;
    
    bool isprime(int n);
    void PrimeFactor(int n);
    
    int main()
    {
        int N;
        cin >> N;
        PrimeFactor(N);
    }
    
    bool isprime(int n)
    {
        for( int i=2; i<=sqrt(n); ++i )
            if( n%i == 0 ) return false;
        return true;
    }
    
    void PrimeFactor(int n)
    {
        bool key = 0;
        for( int i=2; i<=n/2; ++i )
        {
            if( n%i == 0 && isprime(i) && key == 1 )//如果测试的数字不是2
                cout << " " << i;
            else if( n%i == 0 && isprime(i) && key == 0 )//如果第一次进入(即测试数字2)
            {
                cout << "2";
                key = 1;
            }
        }
        if( key==0 ) cout << "No Answer";
        cout << endl;
    }
    
  • 相关阅读:
    IE8下提示'console'未定义错误
    左右添加和删除
    箭头函数
    事件冒泡
    选中状态改变,并且实现左边选中便便添加
    appcan里面模板的使用
    白面机器学习笔记(一)
    常见的模型加速方法
    相机的参数
    深度学习和机器学习的区别
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626138.html
Copyright © 2020-2023  润新知