汉扬编程 编程大纲 C语言经典程序-19-将一个正整数分解质因数

C语言经典程序-19-将一个正整数分解质因数

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

C语言经典程序-19-将一个正整数分解质因数

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,

重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

代码:

/* zheng int is divided yinshu*/ #include<stdio.h>void main() { int n,i; printf(\”\\nplease input a number:\\n\”); scanf(\”%d\”,&n); printf(\”%d=\”,n); for(i=2;i<=n;i++) { while(n!=i) { if(n%i==0) { printf(\”%d*\”,i); n=n/i; } else break; } } printf(\”%d\”,n);}

C 分解质因数怎么写?(编写一个程序)

#include
using namespace std;
main()
{
? ?int n;
? ?cin >> n;
? ?int i;
? ?int k = 0, ct = 0;
? ?for(i = 2; i
追答 : 更优化的:
#include
using namespace std;
int main(void) ////质因数程序
{
int n, i, b = 0;
cin >> n;
cout

解质因数编程:#includeusing namespace std;main(){int n;cin>>n;int i;int k=0;for (i=2;i#include using namespace std;int main(){int max=0,j=2;int i;scanf(\”%d\”,&i);if (i0)printf(\”%d

\”,i);}//system(\”pause\”);return 0;}追问忘说了,还要满足:X#include using namespace std;int main(void){unsigned n;cin>>n;int m=sqrt(n);for(int i=m;i>=2;i–)if(n%i==0){cout

全部

分解30!为质因数乘积.

30! = 2^{[30/2] + [30/ 2^2] + [30/ 2^3] + [30/ 2^4]}

* 3^{[30/3] + [30/ 3^2] + [30/ 3^3]}

* 5^{[30/5] + [30/ 5^2]}

* 7^[30/7] * 11^[30/11] * 13^[30/13] * 17^[30/17]

* 19^[30/19] * 23^[30/23] * 29^[30/29]

= 2^26 * 3^14 * 5^7 * 7^4 * 11^2 * 13^2

* 17 * 19 * 23 * 29,

where [x] = the greatest integer

全部

30!=2×3×4×5×……×29×30=(2×4×8×16)×(3×9×27)×(5×10×15×25)×(6×12×18×24×30)×(7×14×21×28)×(11×22)×(13×26)×17×23×29

=(2^26)×(3^14)×(5^7)×(7^4)×(11^2)×(13^2)×17×19×23×29

看错了!

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/mianfei/6408.html

C语言编程:以实例教你学指向函数的指针

C语言为什么要有“->”运算符,为何不使用点运算符代替它呢?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部