zoukankan      html  css  js  c++  java
  • Project Euler:Problem 28 Number spiral diagonals

    Starting with the number 1 and moving to the right in a clockwise direction a 5 by 5 spiral is formed as follows:

    21 22 23 24 25
    20  7  8  9 10
    19  6  1  2 11
    18  5  4  3 12
    17 16 15 14 13

    It can be verified that the sum of the numbers on the diagonals is 101.

    What is the sum of the numbers on the diagonals in a 1001 by 1001 spiral formed in the same way?


    找规律。

    右上角(2n+1)^2

    左上角(2n+1)^2-(2n+1)+1

    左下角(2n+1)^2-4*n

    右下角(2n+1)^2-6*n


    2n+1<=1001    n<=500

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
    	int n = 500;
    	long long res = 1;
    	for (int i = 1; i <= 500; i++)
    	{
    		
    		int tmp = (2 * i + 1)*(2 * i + 1);
    		res += tmp*4 - (2 * i + 1) + 1 - 4 * i - 6 * i;
    	}
    	cout << res << endl;
    	system("pause");
    	return 0;
    }
    




    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    java的平台无关性
    Events_附
    get()和eq()方法的比较
    pushStack(elems)和end()方法
    slice()方法
    过滤jQuery对象
    处理DOM操作
    其他jQuery对象处理方法
    jQuery遍历函数总结
    jQuery事件
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4832064.html
Copyright © 2011-2022 走看看