一个直角三角形的两个直角边是 a , b ( a ≤ b ) a,b(a\le b) a,b(a≤b),其斜边是 c c c,且 a , b , c a,b,c a,b,c 都是正整数。
现在我们已经知道了斜边长度 c c c,请问这个直角三角形的两个直角边的长度是什么?
输入一个整数 c ( 1 ≤ c ≤ 1.41 × 1 0 4 ) c(1\le c \le 1.41 \times 10^4) c(1≤c≤1.41×104)。
输出两个整数 a , b a,b a,b 表示答案。保证有整数解。如果有多个可能的答案,请确保 a a a 尽可能的小。
5
3 4
#include
int main()
{
int a = 0, b = 0, c = 0, d = 0;
scanf("%d", &c); //斜边
for (a = 1; a < c; ++a) //直角边a
{
for (b = 1; b < c; ++b) //直角边b
{
if (c * c == a * a + b * b)
//两直角边的平方相加等于斜边的平方(勾股定理)
{
printf("%d %d", a, b);
d++;
}
}
if(d==1)
{
break; //终止循环
}
}
}
传智专修学院的 Java 程序设计课程的评价体系是这样的:
首先,所有学生会有一个卷面得分,这个得分一定是一个 [ 0 , 100 ] [0,100] [0,100] 之间的整数。
如果卷面得分在 90 90 90 分以上,那么他的 GPA(加权平均成绩) 就是满分 4.0 4.0 4.0。
如果卷面得分在 60 ∼ 89 60 \sim 89 60∼89 之间,那么他每比 90 90 90 分少 1 1 1 分,那么他的分数就会在 4.0 4.0 4.0 的基础上减少 0.1 0.1 0.1。
如果卷面得分不到 60 60 60 分,那么善良的老师会给他照顾。具体来说,如果他的分数为 x x x ,那么老师会把他的分数调整为 x × 10 \sqrt{x}\times 10 x×10(向下取整) ,再计算他的 GPA。
如果经过调整该学生的得分依旧没满 60 60 60 ,那么他就挂科了,GPA 就是 0 0 0 分。
现在给你一个人的期末卷面得分,请你输出他的最终 GPA
一行一个整数 x x x,表示该人的期末得分。
一个小数点后只有一位的浮点数,表示该同学获得的GPA。
请注意,如果有 . 0 .0 .0 请保留。
99
4.0
88
3.8
12
0.0
对于 20 % 20\% 20% 的数据,满足 90 ≤ x ≤ 100 90 \leq x \leq 100 90≤x≤100;
对于额外 30 % 30\% 30% 的数据,满足 60 ≤ x ≤ 100 60 \leq x \leq 100 60≤x≤100;
对于 100 % 100\% 100% 的数据,满足 0 ≤ x ≤ 100 0 \leq x \leq 100 0≤x≤100。
#include
#include
int main()
{
int x = 0;
float GPA = 4.0;
scanf("%d", &x);
if (x >= 90) // 90及以上
{
printf("%.1f", GPA);
}
else if (x >= 60) // 60及以上
{
GPA = GPA - (90.0-x)/10;
printf("%.1f", GPA);
}
else
{
x = sqrt(x) * 10; //重新计算
if (x < 60)
{
GPA = 0.0;
printf("%.1f", GPA);
}
else
{
if (x >= 90)
{
printf("%.1f", GPA);
}
else
{
GPA = GPA - (90.0 - x) / 10;
printf("%.1f", GPA);
}
}
}
}
disangan233 喜欢数数,于是他想让你帮他回答一个问题。
传智专修学院提供 A , B A,B A,B 两个课程,分别有 n , m n,m n,m 个学生报名。报名 A A A 的学生的编号为 a n a_n an,报名 B B B 的学生的编号为 b m b_m bm,求有多少个学生同时报名了两个课程。
对于所有数据, n , m , a i , b i ≤ 20 n,m,a_i,b_i\leq 20 n,m,ai,bi≤20,保证每个课程报名的学生编号不会重复。
输入共 3 3 3 行。
第 1 1 1 行输入 2 2 2 个正整数 n , m n,m n,m。
第 2 2 2 行输入 n n n 个正整数 a 1 … a n a_1\ldots a_n a1…an,表示报名课程 A A A 的学生编号。
第 3 3 3 行输入 m m m 个正整数 b 1 … b m b_1\ldots b_m b1…bm,表示报名课程 B B B 的学生编号。
学生编号不保证从小到大排序。
输出共 1 1 1 行 1 1 1 个整数,表示答案。
5 5
1 2 3 4 5
1 3 4 5 6
4
我们发现, 1 , 3 , 4 , 5 1,3,4,5 1,3,4,5 这 4 4 4 名学生同时报名了两门课程,所以答案是 4 4 4。
#include
int main()
{
int m = 0, n = 0, sum = 0; //两数组长度以及数组相似的的个数
int a[21] = { 0 };
int b[21] = { 0 };
scanf("%d%d", &m, &n); //输入两数组长度
for (int i = 0; i < m; i++) //a数组赋值
{
scanf("%d", &a[i]);
}
for (int j = 0; j < n; j++) //b数组赋值
{
scanf("%d", &b[j]);
}
for (int x = 0; x < m; x++)
{
for (int y = 0; y < n; y++)
{
if (a[x] == b[y]) //两数组比较相同值
{
sum++;
}
}
}
printf("%d", sum);
}