哪位高手能帮我做一道C语言程序设计的题,急啊!!!!!!

编写自定义函数count(int x),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。
好的话,还可以加分的,谢谢!!

由于不知道你说的因子是不是素因子,所以两种都写了下

#include <stdio.h>

bool isPrime(int x)
{
if(x==2)return true;
for(int i=2;i*i<=x;i++)
if(x%i==0)return false;
return true;
}

int count(int x)//计算素因子个数
{
int cnt=2;
if(x==1)cnt--;
for(int i=2;i<x;i++)
if(x%i==0&&isPrime(i))
cnt++;
return cnt;
}

int count2(int x)//计算因子个数
{
int cnt=2;
if(x==1)cnt--;
for(int i=2;i<x;i++)
if(x%i==0)
cnt++;
return cnt;
}

int main( )
{
for(int i=1;i<=1000;i++)//输出1~1000中有奇数个不同素因子的整数。
{
int n=count(i);
if(n%2)
printf("%d ",i);
}
puts("");
for(int i=1;i<=1000;i++)//1~1000中有奇数个不同因子的整数。
if(count2(i)%2)
printf("%d ",i);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-23
#include<iostream.h>
void main()
{
int a;
cin>>a;
int n=0;
for(int i=1;i<a;i++)
if(a%i==0) n++;
cout<<"The a is "<<a<<endl;
cout<<"The num is "<<n<<endl;
}
这个程序能实现1-100中奇数个因子的整数。
第2个回答  2010-12-23
int count(int x)
{
int i;
int num;
for(i=1;i<x;i++)
{
if((x%i)==0) num++;
}
return num;

}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网