麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

1059. Prime Factors (25)

2019-11-10 19:17:14
字體:
來源:轉載
供稿:網友

1. 原題: https://www.patest.cn/contests/pat-a-PRactise/1059

2. 思路:

題意:將一個數進行分解成質因數,從小到大輸出。思路:題目不難。有多種方法。可以先建立2~根號N的素數表,然后試除。亦或判斷下一個素數的方法處理。我采用的邊除邊判斷,并把質因數保存到map里。這樣繞了遠路了。注意1的特例。

3. 源碼(已AC):

#include<iostream>#include<algorithm>//使用sqrt函數#include<map>using namespace std;int main(void){	//freopen("in.txt", "r", stdin);	int x, i;	cin >> x;	cout << x << '=';	map<int, int> fac;//key是素數,value是指數。	if (x == 1)//1的特例	{		cout << 1 << endl;		return 0;	}	while (x > 1)	{		int flag = 0;//是否可分解的標志位		int limit = (int)sqrt(double(x));		for (i = 2; i <= limit; i++)//循環		{			if (x % i == 0)			{				x /= i;				if (fac.count(i) == 0)					fac[i] = 0;				fac[i]++;				flag = 1;				break;			}		}		if (flag == 0)//0表示已無法再分解。		{			if (fac.count(x) == 0)				fac[x] = 0;			fac[x]++;			break;		}	}	map<int, int>::iterator it;//輸出	for (it = fac.begin(); it != fac.end(); it++)	{		if (it == fac.begin())		{			if (it->second == 1)				cout << it->first;			else				cout << it->first << '^' << it->second;		}		else		{			if (it->second == 1)				cout << '*' << it->first;			else				cout << '*' << it->first << '^' << it->second;		}	}	cout << endl;	return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品免费在线 | 久久精品欧美视频 | 91福利免费观看 | 色淫影院 | 成年人国产视频 | 久久草在线观看视频 | 日本黄色一级电影 | 免费在线观看国产精品 | 日本中文高清 | 一本免费视频 | 国产成人精品免费视频大全最热 | 国产成人精品一区二区视频免费 | 国产日产精品久久久久快鸭 | 毛片一级网站 | 98国内自拍在线视频 | 在线播放一区二区三区 | 日韩毛片在线看 | 欧美电影在线观看 | 亚洲视频精选 | 九九精品影院 | 亚洲第一成人在线观看 | 可以看逼的视频 | 1级毛片在线观看 | 久久经典免费视频 | 自拍偷拍亚洲图片 | 亚洲性生活视频 | 亚洲精品午夜国产va久久成人 | 成人性爱视频在线观看 | 欧美日本日韩 | 天天夜碰日日摸日日澡性色av | 欧美一级爱操视频 | 一级免费观看 | 草b视频在线观看 | 黄色欧美精品 | 日韩欧美电影在线观看 | 91精品久久久久久久久 | 51国产偷自视频区视频小蝌蚪 | 国产一级二级在线播放 | 久久久国产电影 | 亚洲午夜精品视频 | 国产女厕一区二区三区在线视 |