• 华为笔试题02


    C_C++_LQC_03.因数分解

    • 题目描述:

    将一个正整数(1000以内)分解质因数。

     

    每个合数都可以写成几个质数相乘的形式,这几个质数就都叫做这个合数的质因数。如果一个质数是某个数的因数,那么就说这个质数是这个数的质因数。而这个因数一定是一个质数。质因数就是一个数的约数,并且是质数,比如8=2乘2乘2,2就是8的质因数。12=2×2×3,2和3就是12的质因数。把一个式子以12=2×2×3的形式表示,叫做分解质因数。16=2×2×2×2,2就是16的质因数,把一个合数写成几个质数相乘的形式表示,叫做分解质因数

    • 要求实现函数:

    int Divifact(int InputDec, int *pOutPutStr);

    【输入】a:  输入数字InputDec

            b: 输入数字组pOutPutStr        

    【输出】 返回:数字InputDec的因数,注意InputDec为1000以内;

    【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

    • 示例
    • 例如:输入“90”;

    输出:“ 2 3 3 5”

     

     

    #include "stdafx.h"
    #include <iostream>
    using namespace std;
    
    
    void Divifact(int InputDec)//,int *pOutPutStr)
    {
    	cout<<InputDec<<"=";
    	int m=0;
    	int j=0;
    	int s[10]={0};
    	while(InputDec>2)
    	{
    		m=0;
    		for(int i=2;i<sqrt((double)InputDec);i++)
    		{
    			if(InputDec%i==0)
    			{
    				s[j]=i;
    				++j;
    				InputDec=InputDec/i;
    				m=1;
    				break;
    			}			
    		}
    		if(m==0)
    		{
    			s[j]=InputDec;
    			break;
    		}		
    	}	
    	j=0;	
    	while(s[j]!=0)
    	{
    		cout<<s[j]<<" ";
    		j++;
    	}
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Divifact(86);
    	return 0;
    }
    

      

  • 相关阅读:
    哈希表
    矩阵加速(数列)
    线段树
    python
    vue 中防抖
    Windows版本与Internet Explorer版本对照
    一个怂女婿的成长笔记【二十三】
    一个怂女婿的成长笔记【二十一】
    vue xml数据格式化展示,展示在textarea里可编辑,和高亮处理方法
    substring 截取 第三个字符(/)后的字符串
  • 原文地址:https://www.cnblogs.com/xd-jinjian/p/3275825.html
Copyright © 2020-2023  润新知