哪位高手能帮我做一道C语言程序设计的题,急啊!!!!!!
编写自定义函数count(intx),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。好的话,还可以加分的,谢谢!!...
编写自定义函数count(int x),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。
好的话,还可以加分的,谢谢!! 展开
好的话,还可以加分的,谢谢!! 展开
3个回答
展开全部
由于不知道你说的因子是不是素因子,所以两种都写了下
#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;
}
#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;
}
展开全部
#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中奇数个因子的整数。
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中奇数个因子的整数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int count(int x)
{
int i;
int num;
for(i=1;i<x;i++)
{
if((x%i)==0) num++;
}
return num;
}
{
int i;
int num;
for(i=1;i<x;i++)
{
if((x%i)==0) num++;
}
return num;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询