團體程式設計天梯賽-練習集 L1合集
L1-001. Hello World
這道超級簡單的題目沒有任何輸入。
你只需要在一行中輸出著名短句“Hello World!”就可以了。
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard
#include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <math.h> #include <string.h> #include <string> #include <map> using namespace std; int main(){ cout<<"Hello World!"<<endl; }
L1-002. 列印沙漏
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印
***** *** * *** *****
所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
給定任意N個符號,不一定能正好組成一個沙漏。要求打印出的沙漏能用掉儘可能多的符號。
輸入格式:
輸入在一行給出1個正整數N(<=1000)和一個符號,中間以空格分隔。
輸出格式:
首先打印出由給定符號組成的最大的沙漏形狀,最後在一行中輸出剩下沒用掉的符號數。
19 *輸出樣例:
***** *** * *** ***** 2
#include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <math.h> #include <string.h> #include <string> #include <map> using namespace std; int main(){ int n;string s; cin>>n>>s; int m=1,i=3; for(;;i+=2){ if(m+i*2>n) break; m+=i*2; } i-=2; for(int j=0;j<=i/2;j++){ for(int k=0;k<j;k++) cout<<" "; for(int k=0;k<i-j*2;k++) cout<<s; cout<<endl; } for(int j=i/2-1;j>=0;j--){ for(int k=0;k<j;k++) cout<<" "; for(int k=0;k<i-j*2;k++) cout<<s; cout<<endl; } cout<<n-m<<endl; }
L1-003. 個位數統計
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
給定一個k位整數N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),請編寫程式統計每種不同的個位數字出現的次數。例如:給定N = 100311,則有2個0,3個1,和1個3。
輸入格式:
每個輸入包含1個測試用例,即一個不超過1000位的正整數N。
輸出格式:
對N中每一種不同的個位數字,以D:M的格式在一行中輸出該位數字D及其在N中出現的次數M。要求按D的升序輸出。
輸入樣例:100311輸出樣例:
0:2 1:3 3:1
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
int a[11];
int main(){
string s;
cin>>s;
int len=s.length();
for(int i=0;i<len;i++){
a[s[i]-'0']++;
}
for(int i=0;i<=9;i++){
if(a[i]) printf("%d:%d\n",i,a[i]);
}
}
L1-004. 計算攝氏溫度
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳建海
給定一個華氏溫度F,本題要求編寫程式,計算對應的攝氏溫度C。計算公式:C = 5*(F-32)/9。題目保證輸入與輸出均在整型範圍內。
輸入格式:
輸入在一行中給出一個華氏溫度。
輸出格式:
在一行中按照格式“Celsius = C”輸出對應的攝氏溫度C的整數值。
輸入樣例:150輸出樣例:
Celsius = 65
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
int a[11];
int main(){
int n;
cin>>n;
n=(n-32)*5/9;
cout<<"Celsius = "<<n<<endl;
}
L1-005. 考試座位號
時間限制200 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
每個PAT考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態後,系統會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿著領到的試機座位號碼求助於你,從後臺查出他們的考試座位號碼。
輸入格式:
輸入第一行給出一個正整數N(<=1000),隨後N行,每行給出一個考生的資訊:“准考證號 試機座位號 考試座位號”。其中准考證號由14位數字組成,座位從1到N編號。輸入保證每個人的准考證號都不同,並且任何時候都不會把兩個人分配到同一個座位上。
考生資訊之後,給出一個正整數M(<=N),隨後一行中給出M個待查詢的試機座位號碼,以空格分隔。
輸出格式:
對應每個需要查詢的試機座位號碼,在一行中輸出對應考生的准考證號和考試座位號碼,中間用1個空格分隔。
輸入樣例:4 10120150912233 2 4 10120150912119 4 1 10120150912126 1 3 10120150912002 3 2 2 3 4輸出樣例:
10120150912002 2 10120150912119 1
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
struct Node{
string a,b,c;
}a[10005];
int main(){
int n;
cin>>n;
string x,y,z;
for(int i=1;i<=n;i++){
cin>>x>>y>>z;
a[i].a=x;a[i].b=y;a[i].c=z;
}
int m;
cin>>m;
for(int i=1;i<=m;i++){
cin>>x;
for(int j=1;j<=n;j++){
if(a[j].b==x) cout<<a[j].a<<" "<<a[j].c<<endl;
}
}
}
L1-006. 連續因子
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
一個正整數N的因子中可能存在若干連續的數字。例如630可以分解為3*5*6*7,其中5、6、7就是3個連續的數字。給定任一正整數N,要求編寫程式求出最長連續因子的個數,並輸出最小的連續因子序列。
輸入格式:
輸入在一行中給出一個正整數N(1<N<231)。
輸出格式:
首先在第1行輸出最長連續因子的個數;然後在第2行中按“因子1*因子2*……*因子k”的格式輸出最小的連續因子序列,其中因子按遞增順序輸出,1不算在內。
輸入樣例:630輸出樣例:
3 5*6*7
//2^31為2147483648
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
typedef long long LL;
int main(){
LL n,m,ans,tmp,cnt=0,cntp=0;
scanf("%lld",&n);
m=LL(sqrt(n))+1;
for(LL i=2;i<=m;i++){
if(n%i==0){
tmp=i;
cntp=1;
for(LL j=i+1;j<=m;j++){
tmp*=j;
if(n%tmp!=0)
break;
cntp++;
}
if(cntp>cnt) cnt=cntp,ans=i;
}
}
if(cnt==0){
printf("1\n%lld\n",n);
}
else{
printf("%lld\n",cnt);
for(LL i=ans;i<ans+cnt-1;i++){
printf("%lld*",i);
}
printf("%lld\n",ans+cnt-1);
}
}
L1-007. 念數字
時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard作者翁愷輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出“fu”字。十個數字對應的拼音如下:
0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu
輸入格式:
輸入在一行中給出一個整數,如: 1234
。
提示:整數包括負數、零和正數。
輸出格式:
在一行中輸出這個整數對應的拼音,每個數字的拼音之間用空格分開,行末沒有最後的空格。如 yi er san si
。
-600輸出樣例:
fu liu ling ling
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
typedef long long LL;
int main(){
string s[]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
string fu="fu";
string a;
cin>>a;
int len=a.length();
for(int i=0;i<len;i++){
if(a[i]=='-') cout<<fu;
else cout<<s[a[i]-'0'];
if(i!=len-1) cout<<" ";
else cout<<endl;
}
}
L1-008. 求整數段和
時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard作者楊起帆給定兩個整數A和B,輸出從A到B的所有整數以及這些數的和。
輸入格式:
輸入在一行中給出2個整數A和B,其中-100<=A<=B<=100,其間以空格分隔。
輸出格式:
首先順序輸出從A到B的所有整數,每5個數字佔一行,每個數字佔5個字元寬度,向右對齊。最後在一行中輸出全部數字的和。
輸入樣例:-3 8輸出樣例:
-3 -2 -1 0 1 2 3 4 5 6 7 8 Sum = 30
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
typedef long long LL;
int main(){
int a,b,sum=0;
cin>>a>>b;
for(int i=a;i<=b;i++){
if((i-a)%5==0&&i>a) cout<<endl;
printf("%5d",i);
sum+=i;
}
printf("\nSum = %d",sum);
}
L1-009. N個數求和
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
本題的要求很簡單,就是求N個數字的和。麻煩的是,這些數字是以有理數“分子/分母”的形式給出的,你輸出的和也必須是有理數的形式。
輸入格式:
輸入第一行給出一個正整數N(<=100)。隨後一行按格式“a1/b1 a2/b2 ...”給出N個有理數。題目保證所有分子和分母都在長整型範圍內。另外,負數的符號一定出現在分子前面。
輸出格式:
輸出上述數字和的最簡形式 —— 即將結果寫成“整數部分 分數部分”,其中分數部分寫成“分子/分母”,要求分子小於分母,且它們沒有公因子。如果結果的整數部分為0,則只輸出分數部分。
輸入樣例1:5 2/5 4/15 1/30 -2/60 8/3輸出樣例1:
3 1/3輸入樣例2:
2 4/3 2/3輸出樣例2:
2輸入樣例3:
3 1/3 -1/6 1/8輸出樣例3:
7/24
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
typedef long long LL;
LL lcm(LL a,LL b){
return a/__gcd(a,b)*b;
}
int main(){
LL n,fm=1;
LL a[105][2];
string s;
cin>>n;
for(LL i=1;i<=n;i++){
cin>>s;
LL x=0,len=s.length(),flag=1,j;
for(j=0;j<len;j++){
if(s[j]=='-') flag=0;
else if(s[j]=='/') break;
else x=x*10+s[j]-'0';
}
if(flag==0) x=-x;
a[i][0]=x;
if(j==len){
a[i][1]=1;
continue;
}
flag=1,x=0;
for(j++;j<len;j++)
x=x*10+s[j]-'0';
if(flag==0) x=-x;
a[i][1]=x;
fm=lcm(x,fm);
}
LL fz=0;
for(LL i=1;i<=n;i++)
fz+=fm/a[i][1]*a[i][0];
LL ans1=fz/fm,ans2=abs(fz)%fm;
LL t=__gcd(ans2,fm);
ans2/=t;fm/=t;
if(ans1) cout<<ans1;
else if(!ans2) cout<<ans1;
if(ans2){
if(ans1) cout<<" ";
else if(fz<0) ans2=-ans2;
cout<<ans2<<"/"<<fm;
}
cout<<endl;
}
L1-010. 比較大小
時間限制400 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者楊起帆(浙江大學城市學院)
本題要求將輸入的任意3個整數從小到大輸出。
輸入格式:
輸入在一行中給出3個整數,其間以空格分隔。
輸出格式:
在一行中將3個整數從小到大輸出,其間以“->”相連。
輸入樣例:4 2 8輸出樣例:
2->4->8
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <string.h>
#include <string>
#include <map>
using namespace std;
typedef long long LL;
int main(){
int a[3];
cin>>a[0]>>a[1]>>a[2];
sort(a,a+3);
cout<<a[0]<<"->"<<a[1]<<"->"<<a[2]<<endl;
}
L1-011. A-B
時間限制100 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者陳越
本題要求你計算A-B。不過麻煩的是,A和B都是字串 —— 即從字串A中把字串B所包含的字元全刪掉,剩下的字元組成的就是字串A-B。
輸入格式:
輸入在2行中先後給出字串A和B。兩字串的長度都不超過104,並且保證每個字串都是由可見的ASCII碼和空白字元組成,最後以換行符結束。
輸出格式:
在一行中打印出A-B的結果字串。
輸入樣例:I love GPLT! It's a fun game! aeiou輸出樣例:
相關推薦
PTA|團體程式設計天梯賽-練習題目題解錦集(C/C++)(持續更新中……)
PTA|團體程式設計天梯賽-練習題目題解錦集(持續更新中) 實現語言:C/C++; 歡迎各位看官交流討論、指導題解錯誤;或者分享更快的方法!! 題目連結:https://pintia.cn/problem-sets/994805046380707
團體程式設計天梯賽-練習集 L1合集
L1-001. Hello World這道超級簡單的題目沒有任何輸入。你只需要在一行中輸出著名短句“Hello World!”就可以了。時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard#include <iostream&
團體程式設計天梯賽-練習集L1-005考試座位號
題目連結 思路 題目說“任何時候都不會把兩個人分配到同一個座位上”,所以准考證號和試機座位、實際座位三個量中,兩兩都是一一對應的。 題目的查詢是給出試機座位seat1,查准考證號id和實際座位sea
團體程式設計天梯賽-練習集L1-006連續因子
題目連結 L1-006 連續因子 思路 開了個100*100的二維陣列arr做預處理 二重迴圈,外層是i:1->100,內層j:i->100,arr[i][j]表示從i*(i+1)*;(i+2)*…*j的乘積arr[i][j]表示從i*(i+1)*;
團體程式設計天梯賽-練習集L1-017. 到底有多二
一個整數“犯二的程度”定義為該數字中包含2的個數與其位數的比值。如果這個數是負數,則程度增加0.5倍;如果還是個偶數,則再增加1倍。例如數字“-13142223336”是個11位數,其中有3個2,並且是負數,也是偶數,則它的犯二程度計算為:3/11*1.5*2*100%,約為81.82%。本題就請你計算一個
團體程式設計天梯賽-練習集 L1階段 全部題解
當芸芸眾生忙著在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。 輸入格式: 輸入第一行給出一個正整數N(<=100),是已知朋友圈的個數;隨後N行,每行首先給出一個正整數K(<=1000),為朋友圈中的人數,然後列出一個朋友圈內的所有
L1-031. 到底是不是太胖了 團體程式設計天梯賽-練習集
題目 據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。真實體重與標準體重誤差在10%以內都是完美身材(即 |真實體重-標準體重| < 標準體重x10%)。已知1市斤=0.5公斤。現給定一群人的身高和實際體重,請你告訴他們是否太胖或太瘦了。 輸入格
PTA 團體程式設計天梯賽-練習集 L1-034 點贊(20 分)C語言
L1-034 點贊(20 分) 微博上有個“點贊”功能,你可以為你喜歡的博文點個贊表示支援。每篇博文都有一些刻畫其特性的標籤,而你點讚的博文的型別,也間接刻畫了你的特性。本題就要求你寫個程式,通過統計一個人點讚的紀錄,分析這個人的特性。 輸入格式: 輸入在第一行給出一個
PTA 團體程式設計天梯賽-練習集 L1-033 出生年(15 分)Java
L1-033 出生年(15 分) 以上是新浪微博中一奇葩貼:“我出生於1988年,直到25歲才遇到4個數字都不相同的年份。”也就是說,直到2013年才達到“4個數字都不相同”的要求。本題請你根據要求,自動填充“我出生於y年,直到x歲才遇到n個數字都不相同的年份”這句話。
團體程式設計天梯賽-練習集L1-007. 念數字
輸入一個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出“fu”字。十個數字對應的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 輸入格式: 輸入在一行中給出一個整數,如: 1234 。 提示:整數包括負數
L1-013. 計算階乘和(Java)PAT團體程式設計天梯賽-練習集
對於給定的正整數N,需要你計算 S = 1! + 2! + 3! + … + N!。 輸入格式: 輸入在一行中給出一個不超過10的正整數N。 輸出格式: 在一行中輸出S的值。 輸入樣例:
L1-035. 情人節(java) PAT團體程式設計天梯賽-練習集
朋友圈中一奇葩貼:“2月14情人節了,我決定造福大家。第2個贊和第14個讚的,我介紹你倆認識…………咱三吃飯…你倆請…”。現給出此貼下點讚的朋友名單,請你找出那兩位要請客的倒黴蛋。 輸入格式: 輸入按照點讚的先後順序給出不知道多少個點讚的人名,每個人名佔
團體程式設計天梯賽-練習集L1-022. 奇偶分家
L1-022. 奇偶分家 時間限制 400 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 作者 陳越 給定N個正整數,請統計奇數和偶
L1-031. 到底是不是太胖了(JAVA) PAT團體程式設計天梯賽-練習集
據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。真實體重與標準體重誤差在10%以內都是完美身材(即 |真實體重-標準體重| < 標準體重x10%)。已知1市斤=0.5公斤。現給定一群人的身高和實際體重,請你告訴他們是否
團體程式設計天梯賽-練習集 L1-031. 到底是不是太胖了
據說一個人的標準體重應該是其身高(單位:釐米)減去100、再乘以0.9所得到的公斤數。真實體重與標準體重誤差在10%以內都是完美身材(即 |真實體重-標準體重| < 標準體重x10%)。已知1市斤=0.5公斤。現給定一群人的身高和實際體重,請你告訴他們是否太胖或太瘦了。 輸入格式: 輸入第一行給
團體程式設計天梯賽-練習集L1-009. *N個數求和
本題的要求很簡單,就是求N個數字的和。麻煩的是,這些數字是以有理數“分子/分母”的形式給出的,你輸出的和也必須是有理數的形式。 輸入格式: 輸入第一行給出一個正整數N(<=100)。隨後一行按格式“a1/b1 a2/b2 ...”給出N個有理數。題目保證所有分子和分母都在長整型範圍內。另外,負數的符號
Java 團體程式設計天梯賽-練習集-列印沙漏
本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”,要求按下列格式列印 ***** *** * *** ***** 所謂“沙漏形狀”,是指每行輸出奇數個符號;各行符號中心對齊;相鄰兩行符號數差2;符號數先從大到小順序遞減到1,再從小到大順序遞增;首尾符號數相等。
團體程式設計天梯賽-練習集L2-011 玩轉二叉樹(構造二叉樹+BFS)
給定一棵二叉樹的中序遍歷和前序遍歷,請你先將樹做個鏡面反轉,再輸出反轉後的層序遍歷的序列。所謂鏡面反轉,是指將所有非葉結點的左右孩子對換。這裡假設鍵值都是互不相等的正整數。 輸入格式: 輸入第一行給出一個正整數N(<=30),是二叉樹中結點的個數。第二行給出其中序遍歷序列。第三行給出其前序遍歷序列。數
團體程式設計天梯賽-練習集 L3-021 神壇
題目:點選開啟連結 題意:給出n個點,求出面積最小的三角形。(n<=5000) 分析:以一個點為中心,其他點圍繞這個點做一個極角排序,找出最小的三角形,三角形只能是這個點和相鄰兩個點組成的三
[java] PTA-團體程式設計天梯賽-練習集(2018){更新中}
L1-001 Hello World(5 分) 這道超級簡單的題目沒有任何輸入。 你只需要在一行中輸出著名短句“Hello World!”就可以了。 /** * @author 莫道 * @描述 XXX * @ClassName L1_001_Hello_Wor