编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000
/* Note:Your choice is C IDE */
#include "stdio.h"
void OutputPrimeFactor(int i);
void main()
{
/*
调用函数解决,在主函数中穷举90 ~ 100间所有整数,对每个整数调用函数OutputPrimeFactor( )进行求解,
该函数没有返回值,函数类型可以定义为void。
*/
int i;
printf("90~100以内的数如下:\n");
for(i=90;i<=1000;i++)
{
OutputPrimeFactor(i);
}
}
void OutputPrimeFactor(int i){
int a=0;
int j=0;
//求i对应的所有的因子
printf("%d=",i);
for(j=i;j>1;j--)
{
if(i%j==0)
{
a=i/j;
printf("%d*",a);
}
}
printf("\n");
}
int fun(int n)
{
int sum = 0;
int i;
for (i = 2; i < n / 2; i++)
{
if (n%i == 0)
{
sum += i;
sum += n / i;
}
}
return sum;
}
int main()
{
int n = 10;
int sum = fun(n);
printf("sum=%d", sum);
return 0;
}
#include<stdio.h>
int main()
{
int n;
printf("输入n:");
scanf("%d",&n);
int s = 0;
for(int i=2;i<n;i++)
{
if (n%i==0)
{
s += i;
}
}
printf("%d ",s);
return 0;
}
供参考:
#include<stdio.h>
int fac_sum(int n)
{
int a=2,sum=0;
while(a <= n/2)
{
if(n%a==0)
sum+=a;
a++;
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);
if(n>1000) n=1000;
printf("%d\n",fac_sum(n));
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632