吳凡的題庫——快快程式設計251-300
阿新 • • 發佈:2022-04-10
- 收入支出查詢
題目描述
小明他以每天為單位把每一天的總收入或支出都記錄下來,共n天,正數代表收入,負數代表支出。有一天他老婆突然對他進行查賬,提出共m個查詢問 題,每個問題都是關心某兩天之間(從第i天開始到第j天結束)的存款變了多少
輸入輸出格式
輸入格式
輸入第一行為n和m(1<=n,m<=10000),第二行為n個整數代表當天的收入或支出,第三行為2*m個正整數,每兩個數代表一次查詢的起始日期和結束日期
輸出格式
輸出一行共m個數,代表每一個查詢結果。數字由空格隔開。
輸入輸出樣例 輸入樣例#1: 5 2 100 -200 60 10 -10 1 3 4 5 輸出樣例#1: -40 0 輸入樣例#2: 無 輸出樣例#2: 無 輸入樣例#3: 無 輸出樣例#3: 無
#include<iostream>
using namespace std;
int main(){
int n,m,d[10009],t;
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>d[i];
for(int i=1;i<=m;i++){
int x,y;
cin>>x>>y;
t=0;
for(int j=x;j<=y;j++) t+=d[j];
cout<<t<<" ";
}
return 0;
}
- 金幣
題目描述 國王將金幣作為工資,發放給忠誠的騎士。第一天,騎士收到一枚金幣;之後兩天(第二天和第三天),每天收到兩枚金幣;之後三天(第四、五、六 天),每天收到三枚金幣;之後四天(第七、八、九、十天),每天收到四枚金幣……;這種工資發放模式會一直這樣延續下去:當連續N天每天收到N枚 金幣後,騎士會在之後的連續N+1天裡,每天收到N+1枚金幣。 請計算在前K天裡,騎士一共獲得了多少金幣。K<=10000
輸入輸出格式
輸入格式
輸入只有1行,包含一個正整數K,表示發放金幣的天數。
輸出格式
輸出只有1行,包含一個正整數,即騎士收到的金幣數。
輸入輸出樣例
輸入樣例#1:
6
輸出樣例#1:
14
輸入樣例#2:
輸出樣例#2:
輸入樣例#3:
輸出樣例#3:
#include<bits/stdc++.h> using namespace std; int main(){ int k; int sum=0; int n=1; int cnt=0; cin>>k; for(int i=1;i<=k;i++){ sum+=n; cnt++; if(cnt==n){ cnt=0; n++; } } cout<<sum; return 0; }
-
螺旋矩陣(同150)
-
進位制轉換
題目描述
將一個十進位制數X(1≤X≤10^9)轉換成任意進位制數M(2≤M≤16)。當進位制超過10後,依次以字元A,B,…,F表示數位上的數字。
輸入輸出格式
輸入格式
輸入一行兩個正整數X和M。
輸出格式
輸出X的M進位制的表示。
輸入輸出樣例
輸入樣例#1:
31 16
輸出樣例#1:
1F
輸入樣例#2:
7 2
輸出樣例#2:
111
輸入樣例#3:
輸出樣例#3:
#include<iostream>
#include<string>
using namespace std;
int main(){
int top=0,m, n;
int s[10001];
cin>>n>>m;
do{
s[++top]=n%m;
n=n/m;
}while(n>0);
for(int i=top;i>=1;i--)
if(s[i]>=10) cout<<char('A'+s[i]-10);
else cout<<s[i];
return 0;
}
- 素數對
題目描述
兩個相差為2的素數稱為素數對,如5和7是素數對,9和7不是素數對,2和5不是素數對。輸入2個正整數,判斷它們是不是素數對,如果是,輸出Yes,否則輸出No。
輸入輸出格式
輸入格式
輸入檔案pair.in 輸入一行包含2個正整數,以空格分開,均不超過1000000。
輸出格式
輸出檔案pair.out 輸出Yes或者No,代表是否是素數對。
輸入輸出樣例
輸入樣例#1:
19 17
輸出樣例#1:
Yes
輸入樣例#2:
2 5
輸出樣例#2:
No
輸入樣例#3:
3 1
輸出樣例#3:
No
#include<bits/stdc++.h>
using namespace std;
bool isPrime(int x){
if(x<=1)return 0;
for(int i = 2;i * i <= x; i ++){
if(x%i==0)return 0;
}
return 1;
}
int main(){
freopen("pair.in", "r", stdin);
freopen("pair.out", "w", stdout);
int a, b;
cin>>a>>b;
if((abs(a-b)==2)&&isPrime(a)&&isPrime(b))
cout<<"Yes";
else
cout<<"No";
return 0;
}
- 三數求和
題目描述
請寫一個程式,輸入3個整數a,b,c,用空格分開,輸出這3個數的和。
輸入輸出格式
輸入格式
輸入的一行共三個整數。保證輸入的數不會超過1000000000請不用擔心。
輸出格式
輸出一個整數,代表這三個數的總和
輸入輸出樣例
輸入樣例#1:
2 4 6
輸出樣例#1:
12
輸入樣例#2:
1 2 3
輸出樣例#2:
6
輸入樣例#3:
1 1 1
輸出樣例#3:
3
#include<iostream>
using namespace std;
int a,b,c;
int main(){
cin>>a>>b>>c;
cout<<a + b + c;
return 0;
}