📄 main.cpp
字号:
/****************************************************************************
10. 如图1所示,编写程序计算 ┎┰┰┰┰┰┰┰┰┰┒
大大小小正方形共有多少?当最小 ┠╂╂╂╂╂╂╂╂╂┨
正方行边长为1时,它们的总面积 ┠╂╂╂╂╂╂╂╂╂┨
共为多少? ┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┠╂╂╂╂╂╂╂╂╂┨
┖┸┸┸┸┸┸┸┸┸┚
分析:
正方形长与宽相等; 如上图,可以取横向和纵向相同连续单位进行组合而成;
单位为1的正方形: 10*10
单位为2的正方形: 9*9
...
单位为10的正方形: 1*1
正方形的总数为: 1^2 + 2^2 + 3^2 + ... + 10^2 -->1^2+2^2+...+N^2
总面积为: 10*10*1^2 + 9*9*2^2 + 8*8*3^2 + ... + 1*1* 10^2 --> (n-k+1)^2*k^2求和
********************************************************************************/
#include <stdio.h>
#include <math.h>
int count_sqare(int n)
{
int i,res = 0;
for(i=1; i<=n; i++)
{
res += (int)pow(i,2);
}
return res;
}
int count_area(int n)
{
int i,res = 0;
for(i=1; i<=n; i++)
{
res += (int)pow(n-i+1,2)*pow(i,2);
}
return res;
}
void main()
{
printf("正方形的总数为: %d\n", count_sqare(10));
printf("正方形的总面积数为: %d\n", count_area(10));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -