蓝桥杯JAVA-番外篇之重要结论总结

本文最后更新于:March 31, 2022 am

积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里,不积小流无以成江海。齐骥一跃,不能十步,驽马十驾,功不在舍。面对悬崖峭壁,一百年也看不出一条裂缝来,但用斧凿,能进一寸进一寸,能进一尺进一尺,不断积累,飞跃必来,突破随之。

目录

不能表示出的最大数

当正整数 ab 互质时(gcd(a,b)=1), 用 ab 表示不出的最大数为 ab−a−b

统计方形

有一个 n x m 方格的棋盘,求方格包含多少正方形、长方形(不包含正方形)。

思路

  • 以(i,j)作为一个图形的右下端点,那么以这个点为右下端点的正方形个数为i,j当中的最小值矩形个数有 i * j;则长方形的个数就等于矩形的个数减去正方形的个数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void main(String[] args) throws Exception {

int n = nextInt();
int m = nextInt();
long sum = 0; //矩形的个数
long ans = 0; //正方形的个数
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
ans+=Math.min(i,j);
sum+=(i*j);
}
}
System.out.println(ans+" "+(sum-ans));
closeAll();
}