首页 > 代码库 > 【水】wikioi2624正方形计数

【水】wikioi2624正方形计数

这道题在vijos上面叫做P1307黑皮的正方形但是我更喜欢wikioi,原因是因为他细节比较好。。。。。。

 

题目描述 Description

一天Seekdreamer出去玩耍,看见街上的地板是由很多小的正方形组成,顿时心里突发奇想想要总结一下到底有多少正方形……

于是,他狠下心来数了数,终于知道了正方形的总边长为N,你的任务是找出在可以组成的每个至少边长为1的正方形的个数。

输入描述 Input Description

一个自然数N。

输出描述 Output Description

一个整数,即正方形的总数。

样例输入 Sample Input

2

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

(0≤N≤32767)

思路thinkings

虽然这道题给的范围只有int不到,但是乘起来很可怕!C++不开long long用int就是作死的节奏。。。WA:70两次都在这儿

公式或者枚举都可以滴,都有代码。。

代码codes

program ss;  var all:qword;      n,d,i:longint;  begin    readln(n);    all:=0;    for i:=0 to n-1 do     begin      d:=n-i;      d:=d*d;      all:=all+d;     end;    writeln(all);  end.

以上是pascal的公式法。。

C的公式法就不放了,反正一样。。。

#include<iostream>using namespace std;int main(){    long long n,d,all,i;    cin>>n;    all=0;    for (i=1;i<=n;i++)     {        all+=(n-i+1)*(n-i+1);     }    cout<<all<<endl;}    

这是C++的枚举算法,(⊙v⊙)嗯应该大部分人都是习惯性想到这个吧。。。。