首页 > 代码库 > 第十六周OJ平台 Problem D: 指针引出奇数因子

第十六周OJ平台 Problem D: 指针引出奇数因子

Description

编写函数 int fun(int x, int *pp)。其功能是,求出x的所有奇数因子,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。若x的值为30,数组中的数为1,3,5,15,函数返回4。
用下面的main()函数进行测试:
int main()
{
    int a[50],x,n;
    cin>>x;
    n=fun(x,a);
    cout<<n<<endl;
    for(int i=0; i<n; i++)
        cout<<a[i]<<" ";
    cout<<endl;
    return 0;
}

Input

一个整数

Output

输入的整数的奇因子个数,以及这些奇因子

Sample Input

30

Sample Output

41 3 5 
代码
#include<iostream>using namespace std;int fun(int x,int *a);int main(){    int a[50],x,n;    cin>>x;    n=fun(x,a);    cout<<n<<endl;    for(int i=0; i<n; i++)        cout<<a[i]<<" ";    cout<<endl;    return 0;}int fun(int x,int *a){    int i=1,m=0;    while (i<x)    {        if (i%2==1&&x%i==0)        {            *(a+m)=i;            m++;        }        i++;    }    return m;}


运行结果:

 

 

学习心得:

好好学习 天天向上

 

 

 

 

 

 

第十六周OJ平台 Problem D: 指针引出奇数因子