假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。
如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。
具体的源码实现如下:
#include
#include
int main(int argc, char* argv[])
{
int n;
while(scanf("%d",&n) !=EOF)
{
if(n<1)break;
int i;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d ",i);
}
printf("\n");
}
return 0;
}
编译运行后的结果:
#include
#include
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);//输入这个整数
printf("%d的因数有:",n);
for(int i=1;i<=sqrt(n);++i)//判断所有小于这个整数平方根的数是不是它的因子
if(n%i==0)//n能被i整除,i就是n的因子
printf("%d ",i);
return 0;
}
main() {
int x,i;
printf("请输入一个整数:");
scanf("%d",&x);
printf("%d的因子有:", x);
for(i=1;i<=x/2;i++)
if(x%i==0)
printf("%d ",i);
printf("\n");
}
#include
void gene(int number)
{
int i, x;
for(i = 2; i * i <= number; i++)
{
while(number % i == 0)
{
printf("%d ", i);
number /= i;
}
}
if(number != 1)
printf("%d ", number);
printf("\n");
}
int main()
{
int number = 0;
while(number != -1)
{
printf("enter a number: ");
scanf("%d", &number);
gene(number);
}
return 0;
}
#include
void main()
{
int n,j;
scanf("%d",&n);
for(j=1;j<=n;j++)
if(n%j==0)
{printf("%d",j);
printf("\n");