[解题报告]Feynman

本文介绍了UVA在线评测系统中编号为12149的题目“Counting Squares”的解题思路及代码实现。通过发现规律,即在一个N×N的方格中不同大小正方形的数量可以通过累加每层新增的正方形数量来快速计算,给出了简洁的C语言代码解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

题目大意

题目原文:http://uva.onlinejudge.org/external/121/12149.pdf

背景

在一个 N ×N 的方格中含有几个不同的正方形?
下面重现了该餐巾纸上的图,显示 N=2 时答案为 5
Sample input
2
1
8
0
Output for the sample input
5
1
204

 

算法:

很简单的算法,就是发现规律,

sum[i]=sum[i-1]+i*i;

明白这一点题目自然好解了。

 

 

代码:

这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

#include<stdio.h>
int main(void)
{
    int i,n;
    int sum[100];
    sum[1]=1;

    for(i=2;i <= 100;i++)
    sum[i]=sum[i-1]+i*i;

    while(scanf("%d",&n)!=EOF)
    {
        if(n==0)break;
        printf("%d\n",sum[n]);
    }
    return 0;
}

转载于:https://www.cnblogs.com/qisong178878915/archive/2013/02/21/2920527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值