T1 做烧饼
题目描述
做好一只烧饼,需要把烧饼的两面都加热。给定两个正整数 n 与 k,n 表示需要做的烧饼数量,而 k 表示厨房里有 k 口锅,每口锅每分钟能做好一面烧饼。请计算至少需要多少分钟才能做完所有的烧饼。
输入格式
单独一行:两个正整数 n 与 k。
输出格式
单个正整数:表示需要多少分钟才能做好所有烧饼。
数据范围
1≤n≤10000
1≤k≤10000
样例数据
输入:
3 2
输出:
3
说明:
第一分钟加热第一只和第二只烧饼的正面
第二分钟加热第一只烧饼的反面和第三只烧饼的正面
第三分钟加热第二只烧饼的反面和第三只烧饼的反面
#include#include #include using namespace std; int main() { int n,k; cin>>n>>k; if(n*2<=k) cout<<2< T2 正规数的判定
题目描述
如果一个正整数的所有素因子均不超过 5,则它被称为正规数(Regular Number)。例如 60 是一个正规数,因为 60=2^2*3*5,1000 也是一个正规数,因为 1000=2^3*5^3。前十五个正规数为:1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24
给定一个正整数 n,请判定它是否是一个正规数。
输入格式
单个正整数:表示 n。
输出格式
如果 nn 是正规数,输出 Regular Number;
如果不是,输出 Irregular Number;
数据范围
对于30% 的数据,1≤n≤10^5;
对于60% 的数据,1≤n≤10^9;
对于100% 的数据,1≤n≤10^18。
样例数据
输入:
60
输出:
Regular Number
输入:
26
输出:
Irregular Number#include#include #include using namespace std; int main() { long long n; cin>>n; while(n%2==0) n/=2; while(n%3==0) n/=3; while(n%5==0) n/=5; if(n==1) cout<<"Regular Number"< T3 股票市场
题目描述
小爱知道一只股票在今后 n 天的价格。在第一天开始前,小爱有 m 元,那么在最后一天结束后,她最多能有多少钱呢?小爱每天都可以买入或卖出股票,注意股票在交易时的最小单位为 1 股。例如当有 13 元的时候,若股价为 4 元一股,则最多只能买 3 股。
输入格式
第一行:两个整数,表示 n 和 m;
第二行:n 个整数 a1,…,an,表示每天的股票价格。
输出格式
单个整数:表示能获得的最大钱数。
数据范围
1≤m≤100;
1≤ai≤20;
对于 30% 的数据,1≤n≤20;
对于 60% 的数据,1≤n≤5,000;
对于 100% 的数据,1≤n≤100,000;
保证输出答案不超过 10^18。
样例数据
输入:
3 10
1 2 3
输出:
30
说明:
第一天以1元的价格买进10股,到了最后一天以3元的价格卖出,10元变成了30元
输入:
4 100
40 20 10 5
输出:
100
说明:
没有买股票
输入:
6 100
1 2 10 1 5 10
输出:
10000#include#include #include using namespace std; int a[100005][2]; int main() { int n,m,t=0; bool flag=true; scanf("%d %d %d",&n,&m,&a[1][0]); for(int i=2;i<=n;i++){ scanf("%d",&a[i][0]); if(a[i][0]>a[i-1][0] && flag){ flag=false; a[i-1][1]=1; t=m/a[i-1][0]; m=m-(m/a[i-1][0])*a[i-1][0]; } else if(a[i][0] T4 最年长的人
题目描述
给定 n 个人的出生日期,请找出其中年龄最大的,并输出他的出生日期。
输入格式
第一行:单个正整数 n;
第二行到第n+1行:每行格式如下:
首先有一个四位数 y 表示年份;
接下来有一个两位数 m 表示月份;
最后有一个两位数 d 表示日期;
年、月、日之间以一个减号 - 隔开。
输出格式
输出年龄最大的人的出生日期,格式同输入。
数据范围
对于 50%的数据,1≤n≤1,000;
对于 100%的数据,1≤n≤1,000,000;
1900≤y≤2020;
保证月份和日期都是两位数且是合理的日期。
样例数据
输入:
4
2008-08-08
1953-06-15
1949-10-01
1926-08-18
输出:
1926-08-18#include#include #include #include using namespace std; struct St_old{ int y,m,d; }s[1000005]; bool mycmp(St_old a,St_old b){ if(a.y==b.y){ if(a.m==b.m) return a.d T5 分数化小数
题目描述
给定一个以十进制表示的分数 a/b,保证 a 1/4=0.01
7/8=0.111
1/5=0.(0011)
输入格式
两个整数:表示 a 与 b。
输出格式
一串数字:表示 a/b 的二进制小数表示。
数据范围
对于 30% 的数据,1≤a 对于 60% 的数据,1≤a 对于 100% 的数据,1≤a 样例数据
输入:
1 4
输出:
0.01
输入:
7 8
输出:
0.111
输入:
1 5
输出:
0.(0011)#include#include #include #include using namespace std; int f[2000005][2]; int v[2000005]; int main() { int a,b,t,i=1,j; scanf("%d %d",&a,&b); bool flag=true; while(a%b!=0&&flag){ if(v[a]==1){ flag=false;t=a;break; } f[i][1]=a;v[a]=1;f[i][0]=a*2.0/b; a*=2;a-=f[i][0]*b; i++; } printf("0."); if(!flag){ for(j=1;f[j][1]!=t;j++)printf("%d",f[j][0]); printf("("); for(;j 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)