当前位置:首页 » 编程语言 » c语言中求一千以内所有的因子
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言中求一千以内所有的因子

发布时间: 2022-08-29 08:52:49

‘壹’ 编写一段c语言程序,功能为:找出1000之内的所有完数,并按下面格式输出其因子。

#include <stdio.h>


int main()

{

int i,j,sum;

for(i=2;i<1000;++i)

{

for(j=1,sum=0;j<i;++j)

{

if(i%j==0)

{

sum+=j;

}

}

if(sum==i)

{

printf("%d: its factors are 1",i);

for(j=2;j<i;++j)

{

if(i%j==0)

{

printf(",%d",j);

}

}

printf(" ");

}

}

return 0;

}

‘贰’ c语言编程题"编程求1-1000之间的所有完数。完数:该数所有的因子(除去本身)相加之和等于其自身。

#include<stdio.h>
intmain()
{
inti=0,j=0,res;
for(i=1;i<=1000;i++)
{
res=0;
for(j=1;j<i;j++)
{
if(i%j==0)res+=j;
}
if(res==i)printf("%d",i);
}
printf(" ");
return0;
}

‘叁’ c语言程序设计(运用函数调用输出1000以内的所有完数及其因子)

#include <stdio.h>
int isPefect(int n, int *c)
{
int i, k = 1, sum = 0;
for(i=1; i<n; i++)
{
if(n%i ==0)
{
sum += i;
c[k++] = i;
}
}
c[0] = k;
if(sum == n) return 1;
else return 0;
}

void main ()
{
int i, j;
int c[100];
for (i=1; i <= 1000; i++)
{
if(isPefect(i, c))
{
printf("%d = %d", i, c[1]);
for(j = 2; j < c[0]; j++) printf(" + %d", c[j]);
printf("\n");
}
}
}

‘肆’ c语言,求一千以内所有的完数,并输出它的因子,形式为 6 its factors are 1,2,

什么是数的因子?因子就是所有可以整除这个数的数,但是不包括这个数自身.

‘伍’ C语言求1000以内的完数以及其因子 为什么最后会有个很大的值

有人已经提出来了,就是你的printf("%3d",
i);的问题,
这个是以宽度为3的格式输出,如果不足,则在前面被空格。
由于124,248
都是三位数,所以他没有空格,因此就合在一起了。

‘陆’ 用c语言求1000之内的完数 要求输出完数的因子

#include "stdio.h"

//判断n是否是完数
bool isWanShu(int n)
{
int sum=0, j;
for(j=1;j<n;j++)
{
if(0==n%j) sum+=j;
}
if(sum==n) {
printf("%d 是完数, ", n);
return true;
} else {
return false;
}
}
//输出整数的n的因子(自身除外)
void printFactor(int n)
{
int i;
printf("%d 的因子: ", n);

for(i=1; i<n; i++) {
if(n%i==0) printf("%d ", i);
}
printf("\n");
}
int main()
{
int i;
for(i=1; i<=1000; i++) {
if ( isWanShu(i)) { //如果i是完数,则输出它的因子。
printFactor(i);
}
}
return 0;
}

输出结果:
6 是完数, 6 的因子: 1 2 3
28 是完数, 28 的因子: 1 2 4 7 14
496 是完数, 496 的因子: 1 2 4 8 16 31 62 124 248

‘柒’ 编程找出1000以内的所有完全数,并输出使该数成为完全数的因子。(c语言)

完数是大于等于1、小于自身的所有因子之和与自身相等的数。先求因子之和,再与其比较,相等时再由小到大求各因子依次输出,并在之间用'+'连接起来。举例代码如下:

#include"stdio.h"
intmain(intargc,char*argv[]){
intn,m,i,t;
for(n=6;n<=1000;n+=2){
for(m=1,t=n>>1,i=2;i<=t;i++)//求所有因子之和
if(n%i==0)
m+=i;
if(m==n){//因子和与自身比较是否相等
printf("%4d=1",n);
for(i=2;i<=t;i++)//若相等则再求因子并输出
if(n%i==0)
printf("+%d",i);
printf(" ");
}
}
return0;
}

‘捌’ C语言1000输出1000以内的因子数

就是输出用i除以从1开始到i-1为止的所有的数,除得尽的即为i的一个因子,输出.然后i+1继续