c语言输出因子用函数 输出因子的C程序

C语言函数输出完数和因子

这是我编写的 你编写的 要注意 每次进行外循环都要把 s初始化为 0 否则就是用上一次的值

目前创新互联建站已为超过千家的企业提供了网站建设、域名、网站空间绵阳服务器托管、企业网站设计、塔城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

#include stdio.h

int main()

{

int i,j,n,sum;

printf("请输入一个数:");

scanf("%d",n);

for(i=1;i=n;i++)

{

sum=0;

for(j=1;ji;j++)

if(i%j==0)

sum+=j;

if(sum==i)

{

printf("完数为:%d\t它的约数是:",i);

for(j=1;ji;j++)

if(i%j==0)

printf("%4d",j);

printf("\n");

}

}

return 0;

}

c语言求一个数的因子

#include stdio.h

# include stdlib.h

#define N 100

long factor(int m,int fac[],int *cp){

int c1,c2,i,k;

long s;

fac[0]=1;

for(c1=s=1,c2=N-1,i=2;;){

k=m/i;

if(m%i==0){

if(i!=k){

fac[c1++]=i;

fac[c2--]=k;

s+=i+k;

printf("i=%d k=%d\n",i,k);

}else{

fac[c1++]=i;

s+=i;

}

}

i++;

if(i=k) break;//这个时候k已经开始等于自身的根号,或者将要出现和之前k对称的i,引起自身重复故退出

}

for(c2++;c2=N-1;c2++){

fac[c1++]=fac[c2];

printf("%s %d\n","**",fac[c2]);

}

*cp=c1;

return s;

}

int main(int argc, char const *argv[])

{

/* code */

int factors[N],i,count;

long sum;

sum = factor(atoi(argv[1]),factors,count);

for(i=0;icount;i++){

printf("%5d",factors[i]);

}

printf("\n\n");

printf("sum=%5ld  count=%5d\n",sum,count); 

return 0;

}

扩展资料:

有一种说法是“因子不限正负”,不过通常情况下只取正因子。

1, -1, n 和 -n 这些数叫做 n 的明显因子

表示方法:可以用因子|倍数或倍数≡0 (mod 因子) 来表达(参见同余),但用后者时因子一定要是正因子。因子∣倍数 式中的垂直线是整除符号。它的统一码值是 U+2223。

例如 42=6x7,因此 7 是 42 的因子,写作 7∣42,亦是42≡0(mod 7)。

用C语言编一函数,找出任一整数的全部因子。【程序尽量完整】

#include

"stdio.h"

int

main()

{

int

x,i;

scanf("%d",x);//输入一个整数

for(i=1;i=x;++i)

{

if(x%i==0)

printf("%d\n",i);//输出因子

}

return

0;

}

这样就OK了~~不明白的话就问我

如何用 C语言 输出一个整数的因子

假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。

如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。

具体的源码实现如下:

#include stdio.h

#include stdlib.h

int main(int argc, char* argv[])

{

int n;

while(scanf("%d",n) !=EOF)

{

if(n1)break;

int i;

for(i=1;i=n;i++)

{

if(n%i==0)

printf("%d ",i);

}

printf("\n");

}

return 0;

}

编译运行后的结果:

新闻标题:c语言输出因子用函数 输出因子的C程序
网页URL:https://www.cdcxhl.com/article48/docheep.html

成都网站建设公司_创新互联,为您提供服务器托管Google网站导航微信公众号全网营销推广网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设