国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

PAT BASIC 1005

2019-11-11 04:06:25
字體:
來源:轉載
供稿:網友

思路:

給1~100的數做一個state標記數組

state[1]=1;state[i]=0; //i!=1

每個數進來之后都做那個1001操作,遇到

state[i]==1

的情況停止,否則都將state[i]賦值為1; 需要注意的一點就是state數組一定要開的大,雖然說n最大是100,但是我開了1000的數組依然出錯了。

代碼:

#include<iostream>using namespace std;int num[201], state[10001], isNum[201], ans[201];int n;int main(){ int i, j; int sam; cin >> n; for (i = 2; i <= 100; i++) { state[i] = 0; isNum[i] = 0; } state[1] = 1; for (i = 0; i < n; i++) { cin >> num[i]; isNum[num[i]] = 1; } for (i = 0; i < n; i++) { sam = num[i]; if (sam == 1) continue; if (sam % 2 == 1) sam = sam * 3 + 1; sam = sam / 2; while (state[sam] == 0) { state[sam] = 1; if (sam % 2 == 1) sam = sam * 3 + 1; sam = sam / 2; } } ans[0] = 0; for (i = 100; i > 1; i--) { if (isNum[i] && state[i] == 0) { ans[0]++; ans[ans[0]] = i; } } for (i = 1; i < ans[0]; i++) cout << ans[i] << " "; cout << ans[ans[0]]; //while (1) //{ //} return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 交城县| 泰兴市| 达尔| 沁阳市| 鄢陵县| 桐城市| 长岭县| 衡阳县| 江陵县| 玛曲县| 定兴县| 平罗县| 图木舒克市| 巧家县| 西峡县| 绍兴县| 二连浩特市| 嵩明县| 惠来县| 舒兰市| 林芝县| 成安县| 绥中县| 广元市| 清原| 巴林左旗| 冕宁县| 长葛市| 永吉县| 囊谦县| 河池市| 沙洋县| 宁德市| 阿尔山市| 福贡县| 兖州市| 那曲县| 德清县| 安乡县| 新郑市| 南江县|