百度 醫(yī)療網(wǎng)站建設公司做網(wǎng)站需要多少錢
?目錄
L1-004 計算攝氏溫度
問題描述:
實現(xiàn)代碼:
L1-005 考試座位號
問題描述:
實現(xiàn)代碼:
原理思路:
L1-006 連續(xù)因子
問題描述:
實現(xiàn)代碼:
原理思路:
?????????過于簡單的就不再寫題解了,就是記錄一下。
L1-004 計算攝氏溫度
問題描述:
????????給定一個華氏溫度F,本題要求編寫程序,計算對應的攝氏溫度C。計算公式:C=5×(F?32)/9。題目保證輸入與輸出均在整型范圍內(nèi)。
輸入格式:
輸入在一行中給出一個華氏溫度。
輸出格式:
在一行中按照格式“Celsius = C”輸出對應的攝氏溫度C的整數(shù)值。
輸入樣例:
150
輸出樣例:
Celsius = 65
實現(xiàn)代碼:
#include <iostream>using namespace std;int main()
{int n;cin >> n;cout << "Celsius = " << 5 * (n - 32) / 9 << endl;
}
L1-005 考試座位號
問題描述:
????????每個 PAT 考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態(tài)后,系統(tǒng)會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經(jīng)結束,他們只能拿著領到的試機座位號碼求助于你,從后臺查出他們的考試座位號碼。
輸入格式:
輸入第一行給出一個正整數(shù)?N(≤1000),隨后?N?行,每行給出一個考生的信息:準考證號 試機座位號 考試座位號
。其中準考證號
由 16 位數(shù)字組成,座位從 1 到?N?編號。輸入保證每個人的準考證號都不同,并且任何時候都不會把兩個人分配到同一個座位上。
考生信息之后,給出一個正整數(shù)?M(≤N),隨后一行中給出?M?個待查詢的試機座位號碼,以空格分隔。
輸出格式:
對應每個需要查詢的試機座位號碼,在一行中輸出對應考生的準考證號和考試座位號碼,中間用 1 個空格分隔。
輸入樣例:
4
3310120150912233 2 4
3310120150912119 4 1
3310120150912126 1 3
3310120150912002 3 2
2
3 4
輸出樣例:
3310120150912002 2
3310120150912119 1
實現(xiàn)代碼:
#include <iostream>
#include <vector>
using namespace std;const int N = 1010;string id[N];
int a[N];//沒用
vector<int> b(N);//vector方便開未知大小數(shù)組int main()
{int n;cin >> n;while (n--){string t;cin >> t;//先記錄idint a;cin >> a;id[a] = t;cin >> b[a];}int m;cin >> m;while (m--){int c;cin >> c;cout << id[c] << " "<< b[c] << endl;}}
原理思路:
? ? ? ? 簡單題而已,描述的倒挺長,用機試的座位號映射一下 id 和筆試座位即可。
L1-006 連續(xù)因子
問題描述:
????????一個正整數(shù)?N?的因子中可能存在若干連續(xù)的數(shù)字。例如 630 可以分解為 3×5×6×7,其中 5、6、7 就是 3 個連續(xù)的數(shù)字。給定任一正整數(shù)?N,要求編寫程序求出最長連續(xù)因子的個數(shù),并輸出最小的連續(xù)因子序列。
輸入格式:
輸入在一行中給出一個正整數(shù)?N(1<N<231)。
輸出格式:
首先在第 1 行輸出最長連續(xù)因子的個數(shù);然后在第 2 行中按?因子1*因子2*……*因子k
?的格式輸出最小的連續(xù)因子序列,其中因子按遞增順序輸出,1 不算在內(nèi)。
輸入樣例:
630
輸出樣例:
3
5*6*7
實現(xiàn)代碼:
include <iostream>
#include <vector>
#include <math.h>
using namespace std;const int N = 100;
vector<int> p(N);//裝因子
int n;int main()
{cin >> n;//求因子, 從 2 開始for (int i = 2; i < sqrt(n) + 1; i++){if (n % 2 == 0) p.push_back(i);}if (p.empty()) p.push_back(n);//若n為素數(shù)不能被拆分int pos = 1; //起始位子,為了后面輸出int max = 1;for (int i = 0; i < p.size(); i++){int len = 1;//記錄最長的, 循環(huán)更新int sum = p[i];for (int j = i + 1; j < p.size(); j++){if (p[j] != p[j - 1] + 1) break;//不連續(xù)就退出sum *= p[j];len++;//連續(xù)因子相乘也要能被整除才行if (n % sum == 0){if (len > max)//更新最大值{max = len;pos = i; //更新起始位置}}else{break;}}}//輸出cout << max << endl;for (int i = pos; i < pos + max - 1; i++){cout << p[i] << "*";}cout << p[pos + max - 1] << endl;//確保輸出格式
}
原理思路:
? ? ? ? 20就過了17分,先留個空,等我想明白再更新題解。