main.cpp

来自「我做的一些C语言练习题,里面一共有76道题目,主要用到一些计算机常用的算法,如:」· C++ 代码 · 共 52 行

CPP
52
字号
/****************************************************************************
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 + =
减小字号Ctrl + -
显示快捷键?