22:因子分解
时间:2022-05-08
本文章向大家介绍22:因子分解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
22:因子分解
总时间限制: 1000ms 内存限制: 65536kB描述
输入一个数,输出其素因子分解表达式。
输入输入一个整数 n (2 <= n < 100)。输出输出该整数的因子分解表达式。 表达式中各个素数从小到大排列。 如果该整数可以分解出因子a的b次方,当b大于1时,写做 a^b ;当b等于1时,则直接写成a。样例输入
60
样例输出
2^2*3*5
来源习题(9-3)
1 #include<iostream>
2 #include<cmath>
3 using namespace std;
4 int vis[10001];
5 int zs2;
6 int zs3;
7 int zs5;
8 void f(int &n)
9 {
10 if(n%2==0)
11 {
12 zs2++;
13 n=n/2;
14 f(n);
15 }
16 else if(n%3==0)
17 {
18 zs3++;
19 n=n/3;
20 f(n);
21 }
22 else if(n%5==0)
23 {
24 zs5++;
25 n=n/5;
26 f(n);
27 }
28 }
29 int main()
30 {
31
32 int n;
33 cin>>n;
34 for(int i=2;i<=sqrt(n+0.5);i++)
35 {
36 if(vis[i]==0)
37 {
38 for(int j=i*i;j<=n;j=j+i)
39 vis[j]=1;
40 }
41 }//筛法求素数
42 f(n);
43 int flag=0;
44 if(zs2==1)
45 {
46 cout<<"2";
47 flag=1;
48 }
49 else if(zs2>0)
50 {
51 cout<<"2^"<<zs2;
52 flag=1;
53 }
54
55 if(zs3==1)
56 {
57 if(flag==1)
58 {
59 cout<<"*3";
60 flag=2;
61 }
62 else
63 {
64 cout<<"3";
65 flag=2;
66 }
67 }
68 else if(zs3>1)
69 {
70 if(flag==1)
71 {
72 cout<<"*3^"<<zs3;
73 flag=2;
74 }
75 else
76 {
77 cout<<"3^"<<zs3;
78 flag=2;
79 }
80 }
81 //cout<<"3^"<<zs3<<"*";
82 if(zs5==1)
83 if(flag==1||flag==2)
84 {
85 cout<<"*5";
86 flag=3;
87 }
88 else
89 {
90 cout<<"5";
91 flag=3;
92 }
93 else if(zs5>0)
94 if(flag==1||flag==2)
95 {
96 cout<<"*5^"<<zs5;
97 flag=3;
98 }
99 else
100 {
101 cout<<"5^"<<zs5;
102 flag=3;
103 }
104 if(n!=1)
105 cout<<"*"<<n<<endl;
106
107 return 0;
108 }
- ASM 翻译系列第十六弹:ASM Internal ASM Active Change Directory
- ASM 翻译系列第十七弹:ASM Internal ASM Disk Directory
- Windows 7下获取System权限
- ASM 翻译系列第十八弹:ASM Internal ASM file number 5
- 菜单式Shell运维脚本调试小记
- 优化Postgres-x2 GTM
- 启用某些Linux发行版的root帐号
- Linux中的完美截图工具:Deepin-ScreenShot
- ASM 翻译系列第二十弹:ASM Internal ASM file number 7
- Linux:awk命令详解
- 给已安装的Linux新增Swap交换分区
- ASM 翻译系列第二十一弹:ASM Attributes Directory
- Linux:sed命令详解
- ASM 翻译系列第二十二弹:ASM Internal ASM file number 8
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法