例如:20 的真因数有 1 2 4 5 和 10,真因数之和为
函数原型
int SumProperFactor(int x);
#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;i<n;i++ )
{
if ( n%i==0 ) //能整除,是因子
{
sum += i ; //累加
printf("+%d", i ); //输出该因子
}
}
printf("=%d\n", sum ); //输出因子和
return 0;
}
int SumProperFactor(int x)
{
int sum = 0;
for (int i = 1; i < x; i++)
{
if (x % i == 0)
sum + = i;
}
return sum;
}
#include <stdio.h>
int main() {
int SumProperFactor(int x);
int x;
scanf("%d", &x);
printf("真因数之和为%d", SumProperFactor(x));
return 0;
}
int SumProperFactor(int x){
int sum=0;
for(int i=1;i<x;i++){
if(x%i==0){
sum+=i;
}
}
return sum;
}
有用请采纳
#include<stdio.h>
int SumProperFactor(int x);
int main(){
int x, res;
scanf("%d", &x);
res = SumProperFactor(x);
printf("%d\n", res);
}
int SumProperFactor(int x){
int sum = 0;
for(int i = 1; i <= x / 2 + 1; i++)
if (x % i == 0)
sum += i;
return sum;
}