用函数求真因数之和C语言 c语言求一个正整数的因子

C语言题:2500年前数学大师毕哥达拉斯就发现220和284之间存在微妙的联系#include stdio.h
#include stdlib.h
main()
{
int i,j,k;
int temp_sum1;
int temp_sum2;
for(i=2;i=3000;i)
{
temp_sum1=0;
temp_sum2=0;
for(j=1;ji;j)
{
if(i%j==0)
{
temp_sum1 =j;
}
}
for(k=1;ktemp_sum1;k)
{
if(temp_sum1%k==0)
{
temp_sum2 =k;
}
}
if((temp_sum2==i)(temp_sum1temp_sum2))
{
printf("找到一对相亲数用函数求真因数之和C语言:%d,%d\n",temp_sum2,temp_sum1);
}
}
}
结果为用函数求真因数之和C语言:
找到一对相亲数用函数求真因数之和C语言:220,284
找到一对相亲数用函数求真因数之和C语言:1184,1210
找到一对相亲数:2620,2924
求一个整数的因数和 的C语言程序代码C语言实现用函数求真因数之和C语言 , 参考代码如下用函数求真因数之和C语言:
#include stdio.h
int main()
{
int n,i,sum=0;
scanf("%d",n);
if(n1)return 0;
for(i=1;i=n;i)
if(n%i==0)
sum =i;
printf("因数之和为%d",sum);
【用函数求真因数之和C语言 c语言求一个正整数的因子】return 0;
}
C语言怎样高效求一个数的所有因数的和参考代码如下
#includestdio.h
int main()
{
int i,n,b;
long sum=0;
scanf("%d",n);
sum=n;
printf("所有因数:");
for(i=1;i=n/2;i)
if(n%i==0){
printf("%d ",i);
sum =i;
}
printf("%d ",n);
printf("\nsum=%d ",sum);
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("]",factors[i]);
}
printf("\n\n");
printf("sum=%5ldcount=]\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语言:编写函数,计算出形参n的所有因子之和(包括1与自身)?程序用函数求真因数之和C语言的执行效率非常高(瞬间就完成)用函数求真因数之和C语言:
#include "stdio.h"
int fun(int n)
{int i,s=n 1;
for(i=2;i*in;i)
if(n%i==0)s =i n/i;
if(i*i==n)s =i;
return s;
}
main()
{ int k;
scanf("%d",k);
printf("%d\n",fun(k));
}
C语言初学者的问题,如何求一整数的所有因子之和?对于整数n,采用循环从1到n-1进行检查,如果检测到是n的因数,则将该数累加起来,最后输出结果即可 。参考代码如下:
#include stdio.h
int main()
{
int sum=0;
int n=0;
int i,m=0;
scanf("%d", n ); //输入一个整数
if ( n= 0 ) //只统计正整数
return -1;
printf("1"); //最小的因数是1 , 必然存在
sum = 1;
for( i=2;in;i)
{
if ( n%i==0 ) //能整除,是因子
{
sum= i ; //累加
printf(" %d", i ); //输出该因子
}
}
printf("=%d\n", sum ); //输出因子和
return 0;
}
用函数求真因数之和C语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言求一个正整数的因子、用函数求真因数之和C语言的信息别忘了在本站进行查找喔 。

    推荐阅读