杭电oj练习记录
①数学基础
1001
题目
Problem Description
Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).
In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + … + n.
Input
The input will consist of a series of integers n, one integer
per line.
Output
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.
Sample Input
1
100Sample Output
15050
我的代码
#include<bits/stdc++.h>
using namespace std;
int main ()
{
int i,n,sum=0;
while(scanf("%d",&n)!=EOF){
for(int i=0;i<=n;i++)sum=sum+i;
printf("%d\n\n",sum);
sum=0;
}
return 0;
}
之前错写成sum+=i;
了
1108
题目
Problem Description
给定两个正整数,计算这两个数的最小公倍数。Input
输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数.Output
对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。Sample Input
10 14Sample Output
70
我的代码
#include<bits/stdc++.h>
using namespace std;
int gcd(int n1,int n2);
int main ()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)printf("%d\n",a*b/gcd(a,b));
return 0;
}
int gcd(int x, int y){
return y ? gcd(y, x % y) : x;
}
(以上2020.3.23)
1019
题目
Problem Description
The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible
by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.
Input
Input will consist of multiple problem instances. The first line
of the input will contain a single integer indicating the number of problem instances. Each instance will consist of a single line of the form m n1 n2 n3 … nm where m is the number of integers in the set and n1 … nm are the integers. All integers will be positive and lie within the range of a 32-bit integer.
Output
For each problem instance, output a single line containing the corresponding LCM. All results will lie in the range of a 32-bit integer.
Sample Input
2 3 5 7 15 6 4 10296 936 1287 792 1
Sample Output
105 10296
我的代码
#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b){
return b ? gcd(b, a % b) : a;
}
int lcm(int a, int b){
return a/gcd(a,b)*b;
}
int main(){
int