阿里笔试题一

来源:互联网 发布:vb 数值转换为字符 编辑:程序博客网 时间:2024/06/15 08:34
#include <iostream>#include <vector>#include <numeric>#include <limits>#include <math.h>using namespace std;/** 请完成下面这个函数,实现题目要求的功能 **/ /** 当然,你也可以不按照这个模板来作答,完全按照自己的想法来 ^-^  **/int prime(int num_input){    int flag = 0;    for (int i = 2; i < sqrt(num_input); ++i)    {        if (num_input % i == 0)        {            flag = 1;            return 0;        }    }    return 1;}int count(int num){    int num_count = 0;    for (int i = 0; i <= num; ++i)    {        for (int j = 0; ; ++j)        {            while(num != 1)            {                if (prime(j))                {                    while(num % j == 0)                    {                        num = num / j;                        ++num_count;                    }                }            }        }    }    return num_count;}int main() {    int res;    int _num;    cin >> _num;    cin.ignore (std::numeric_limits<std::streamsize>::max(), '\n');    res = count(_num);    cout << res << endl;    return 0;}
0 0