简单因式分解及利用质数表进行因式分解
来源:互联网 发布:sqlserver存储过程作用 编辑:程序博客网 时间:2024/05/18 03:49
简单因式分解
简单因式分解,不用质数表,比较简单,就不注释了
int i, n;n = 500;printf("%d = ", n);for(i = 2; i * i <= n;) { if(n % i == 0) { printf("%d * ", i); n /= i; } else i++;}printf("%d\n", n);
利用质数表进行因式分解
利用质数表进行因式分解,代码是网上找的,自己加的注释,学习了
#define N 1000int prime(int*); // 求质数表void factor(int*, int); // 求factor
//主程序int ptable[N+1] = {0};//定义一个数组int count, temp;count = prime(ptable);//求质数表temp = 98;//被因式分解的数factor(ptable, temp);//根据质数表因式分解printf("\n");
//求质数表int prime(int* pNum) { int i, j; int prime[N+1];//临时 for(i = 2; i <= N; i++) prime[i] = 1; for(i = 2; i*i <= N; i++) { if(prime[i] == 1) {//如果i可能是质数,则遍历,并判断 for(j = 2*i; j <= N; j++) {//起码要从2*i开始 if(j % i == 0) prime[j] = 0;//提前判定j不是质数,减少判断,很好的优化 } } } for(i = 2, j = 0; i < N; i++) { if(prime[i] == 1) pNum[j++] = i;//获得质数表 } return j;}//根据质数表因式分解void factor(int* table, int num) { int i; for(i = 0; table[i] * table[i] <= num;) {//如果除以质数表中的数可以除尽,则符合要求(num随着循环逐渐变小,直到num不可再分,循环结束,然后直接打印出即可,很巧妙) NSLog(@"table[i]====%d",table[i]); NSLog(@"num===%d",num); if(num % table[i] == 0) { printf("%d * ", table[i]); num /= table[i]; } else i++; } printf("%d\n", num);}
0 0
- 简单因式分解及利用质数表进行因式分解
- 求质数与因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 因式分解
- 素数表+因式分解+完美数
- 因式分解成质数 Find prime factorization of an integer
- 因式分解:将一个数分成几个质数之积
- 因式分解程序
- 阶乘因式分解
- HDU1215_因式分解
- 手机web——自适应网页设计(html/css控制)
- 电商第一站再探电子商务标准之路!
- java 虚拟机与程序的生命周期
- linux下抓包命令--tcpdump的使用
- Deep Learning Reading List
- 简单因式分解及利用质数表进行因式分解
- 我的首个电子书软件--嘎嘎读书 的开发(七)
- vs选定一个词的快捷键
- eclipse 背景颜色配置
- 6 cocos2dx 菜单项
- @PathVariable和@RequestParam的区别
- Node JS 入门——window下环境搭建
- WM_PAINT介绍及OnPaint()函数的作用原理
- @synthesize & @dynamic 使用对比