C语言之输出一个数的所有因子之积

简介: C语言之输出一个数的所有因子之积

代码如下所示:

#include <stdio.h>
#include"conio.h"
long int fun(int n)
{
  int i;
  long s= 1;//不要将s的初始化设置为0
  for (i = 2; i <= n; i++)//i应是从2开始,任何数%0都是没有意义的,而0%任何数都为0
              //1是任何数的因子
  {
    if (n % i == 0)
      s *= i;
  }
  return s;
}
main()
{
  int  m;
  printf("Enter m: ");
  scanf_s("%d", &m);
  printf("\nThe result is %ld\n", fun(m));
}

输出结果如下所示:

相关文章
|
C语言
c语言之两个数相加
c语言之两个数相加
104 0
|
8月前
|
C语言
【C语言】输入一个数n,输出从n到n+100的范围内所有的素数,并统计素数的个数
【C语言】输入一个数n,输出从n到n+100的范围内所有的素数,并统计素数的个数
416 0
|
7月前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
|
7月前
|
C语言
C语言---请输入10个数,求平均值
C语言---请输入10个数,求平均值
|
C语言
C语言:求两个数二进制中不同位的个数
思路: 总体思路: 把 m 异或 n 后,有几个相异就有几个1,再计算下二进制有几个1即可 (1). 编写函数:number_of_1() ,计算二进制中有几个1。 (2). 在主函数中,把 m ^ n (m 异或 n)的结果作为参数传给 number_of_1() 函数
C语言:求两个数二进制中不同位的个数
|
C语言
c语言编写程序打印/计算1-100的整数中出现9的个数
c语言编写程序打印/计算1-100的整数中出现9的个数
227 1
|
8月前
|
C语言
【C语言】用三种循环语句 计算1到1000之间能被2或3整除的数的总和
【C语言】用三种循环语句 计算1到1000之间能被2或3整除的数的总和
|
8月前
|
存储 C语言
C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数
C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数
|
机器学习/深度学习 C语言
C语言:给定两个数,求这两个数的最大公约数(新思路:辗转相除法)
思路一:普通方法 总体思路: (一). 生成相关变量; 从键盘输入两个数;
149 0
C语言:给定两个数,求这两个数的最大公约数(新思路:辗转相除法)
|
人工智能 C语言
C语言:求输入的两个数的最小公倍数
总体思路: (一). 输入两个数:a 和 b, 使用 三目表达式 把较大值 取出
144 0