Description:
Byteman has a collection of N squares with side 1. How many different rectangles can he form using these squares?
Two rectangles are considered different if none of them can be rotated and moved to obtain the second one. During rectangle construction, Byteman can neither deform the squares nor put any squares upon any other ones.
Input
The first and only line of the standard input contains one integer N (1 <= N <= 10000).
Output
The first and only line of the standard output should contain a single integer equal to the number of different rectangles that Byteman can form using his squares.
Example
For the input data:
6
the correct result is:
8
题意是给你一个数n,让你输出用<=n个边长为1的木块构成多少个矩形。
和上道题一样,找了会规律,结果各种考虑不周,最后选择暴力,就AC了。
AC代码:
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
int n;
while(~scanf("%d",&n))
{
int ans = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= (sqrt(i) + 0.5); ++j)
if(!(i % j)) ans++;
cout << ans << endl;
}
return 0;
}

本文探讨了一个有趣的数学问题:使用不超过N个边长为1的正方形木块可以构成多少种不同的矩形。通过分析和尝试多种解法,最终采用了一种有效的方法解决了该问题,并给出了详细的AC代码。
409

被折叠的 条评论
为什么被折叠?



