PAT《数据结构学习与实验指导》实验项目集 2-07

原创 2015年07月06日 21:05:55

#include<iostream>
#include<math.h>
using namespace std;
int main()
{
	long long int n;
	while(cin>>n)
	{
		int m=sqrt(n);
		int flag=1;//用于判断是否输入的数本身就是一个素数
		cout<<n<<"=";
		for(int i =2;i<m+1;i++)
		{
			if(n%i==0)
			{
				flag=0;
				cout<<i;
				int count=0;
				while(n%i==0)
				{
					count++;
					n/=i;
				}
				if(count!=1)
					cout<<"^"<<count;
				//这是为了处理数字已经分解完了,却还输出一个*号
				if(n!=1)
				{
					cout<<"*";
				}
			}
		}
		//n!=1这是我测试是发现没有的话,输入6输出是6=2*,仔细想想其实是上面因子的范围的问题
		if(flag||n!=1)
			cout<<n;
		cout<<endl;
	}
	return 0;
}

本来看到题目的时候想的是先弄一个素数的集合出来,然后从这个集合中从小到大一次计算每个素因子出现的次数,但是不知道该这么确定这个素数集合的范围,开的大小不是很能明白,于是上网搜了一下,发现其实可以不开这个素数的集合。因为从小往上整除的时候,已经是在筛选素数了,留在后面的非素数会早就被之前的素数所分解掉,所以可以直接就写。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

PAT《数据结构学习与实验指导》实验项目集 2-07

#include #include using namespace std; int main() { long long int n; while(cin>>n) { int m=sqrt...

PAT《数据结构学习与实验指导》实验项目集 2-11

2-11两个有序链表序列的合并 已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。 输入格式说明: 输入分2行,分别在每行给出由若干个正整数构成的...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

PAT《数据结构学习与实验指导》实验项目集 2-12

时间限制 400 ms 内存限制 64000 kB 代码长度限制 8000 B 判题程序 Standard ...

PAT《数据结构学习与实验指导》实验项目集 3-04

设计函数分别求两个一元多项式的乘积与和。 输入格式说明: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数...

PAT《数据结构学习与实验指导》实验项目集 2-07. 素因子分解(20) C语言

2-07. 素因子分解(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 给定某个正整数...

2-06. 数列求和

给定某数字A(1 输入格式说明: 输入数字A与非负整数N。 输出格式说明: 输出其N项数列之和S的值。 样例输入与输出: 序号 输入 输出 1 1 3 123 ...

《数据结构学习与实验指导》4-8:目录树

实验内容:在ZIP文件中,保留着所有压缩文件和目录的相对路径和名称。实现目录的树状结构的重建。 输入说明:输入首先给出正整数N(<=104),表示ZIP归档文件中的文件和目录的数量。随后N行,每行有...

《数据结构学习与实验指导》4-3:朋友圈

实验内容:某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生形成一个朋友圈。一个学生可以同时属于若干不同的俱乐部。如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请统计最大朋友圈有多少人。 输...

数据结构实验指导

数据结构实验指导 实验一:线性表的操作 实验一A:线性表的顺序存储结构操作 【题目】 设顺序表Va中的数据元素递增有序,试写一算法,将x插入到顺序表的适当位置上,以保证该表的有序性。 ...

<数据结构学习与实验指导>2-1:简单计算器

C++
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)