黑马程序员技术交流社区

标题: 关于分解质因数 [打印本页]

作者: talent123    时间: 2015-6-5 23:38
标题: 关于分解质因数
  1. #include <stdio.h>
  2. int is_prime(int n){
  3.         int is_prime=1;
  4.         int i;
  5.         for (i = 2; i < n; i++){
  6.                 if (n % i == 0){
  7.                         is_prime = 0;
  8.                         break;
  9.                 }
  10.         }
  11.         return is_prime;
  12. }

  13. int min (int n){
  14.         int i;
  15.         for (i=2; i<=n ;i++){
  16.                 if ((n%i==0)&&is_prime(i)){
  17.                         break;
  18.                 }
  19.         }
  20.         return i;
  21. }
  22. int main(){
  23.         int n;
  24.         scanf ("%d",&n);
  25.         printf("%d=",n);
  26.         while (n!=1){
  27.                 if (n/min(n)==1){
  28.                         printf("%d",min(n));
  29.                         break;
  30.                 }
  31.                 printf("%dx",min(n));
  32.                 n=n/(min(n));
  33.         }
  34.         return 0;
  35. }
复制代码


做了不少关于最小公倍数最大公约数分解质因数等等的题
其实在写程序的时候,可以把我们之前做的算法,做成函数,用老师的话说就是“封装”。
再次用到的时候就可以直接调用,利用几个判断得出我们想要的结果。既快捷又安全,这时候才理解为什么写的代码多了,代码才能越来越“结实”,这个“结实”形容的真好。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2