B
Description
美好的四月,在这一片万物复苏的季节中,唯有体测与其格格不入。小许在这周接到要测试长跑的消息。已知道每一圈的长度是400m,体测共要求跑六圈。每次小许跑完一圈他都能知道时间过去了多少,现在小许想知道他跑一秒跑了多少米(答案四舍五入)。
Input
第一行包含一个整数T(1≤T≤6),表示有T个测试用例。每个测试用例有6行。第一行只包含一个字符串,格式为ai:bi:ci(时:分:秒),表示他完成第i个跑道圆时得到的时间。(0≤ai,bi,ci≤59)
Output
对于每个测试用例,每行输出当前用例中每秒钟所跑的米数,答案四舍五入。
Sample Input
2
00:02:00
00:04:00
00:08:00
00:10:00
00:12:00
00:14:00
00:00:50
00:01:30
00:03:00
00:05:00
00:09:00
01:59:59
Sample Output
3
0
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin >> t;
while(t--){
int a, b, c;
double num;
for(int i=0; i<6; ++i){
scanf("%d:%d:%d:",&a, &b, &c); //注意输入整形时,01为0,02为2 所以直接用Int输入即可
}
num = a*3600 + b*60 + c;
printf("%.0f\n",2400.0/num);
}
return 0;
}
C
Description
LSP十分热爱数学,他特别喜欢’0’这个数字。现在给你一个数字N,LSP想知道一个可以整除N的最小非负整数,并且N至少有K个或者更多个0结尾。如果N为75,K为4,则结果为75*400=30000。
Input
第一行包含一个整数T(0<=T<=100),这意味着T测试用例。每个测试用例包含两个整数N和K。(1<=N<=1e9,0<=K<=8)
Output
对于每个测试用例,打印一行答案。
Sample Input
2
75 4
10000 1Sample Output
30000
10000
分析:因为既要满足能整除N,还要有k个或更多个0,所以所求应为 N和10^k的最小公倍数
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;//将类型名重命名
int main()
{
ll T, a, b;
cin >> T;
while(T--){
cin >> a >> b;
ll t = 1;
for(int i=0; i<b; ++i) t *= 10;
cout << a / __gcd(a, t) * t << endl; // 两个数的最大公约数函数 __gcd(int x,int y)
} //在c++的头文件algorithm里
return 0;
}