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

2024-11-22 09:09:54
推荐回答(3个)
回答1:

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

#include

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 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 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;
}

回答2:

#include
void main()
{
int a;
cin>>a;
int n=0;
for(int i=1;i if(a%i==0) n++;
cout<<"The a is "< cout<<"The num is "<}
这个程序能实现1-100中奇数个因子的整数。

回答3:

int count(int x)
{
int i;
int num;
for(i=1;i{
if((x%i)==0) num++;
}
return num;

}