码迷,mamicode.com
首页 > 其他好文 > 详细

三角形的个数

时间:2021-04-13 12:18:20      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:img   return   ret   const   com   答案   upload   ==   cto   

 

 

题目描述

坤坤给你一个边长为n的等边三角形图形,请你查出图形内等边三角形的个数。

因为数据过大,所以要求答案对1e9+7取模。

 技术图片

如图是n=2的三角形阵列。我们可以看出有5个三角形。

请输出n为20210411时的三角形的个数。

输入描述:

无输入

输出描述:

直接输出

备注:

请直接打印答案即可。

 

思路:

技术图片

 

 

 

 

代码:

 1 #include <iostream>
 2 #include <vector>
 3 #include <algorithm>
 4 
 5 using namespace std;
 6 
 7 typedef long long ll;
 8 
 9 
10 const int mod=1e9+7;
11 
12 int main(){
13     ll ans=0,n=20210411;
14     for(int i=1;i<=20210411;i++){
15         ll cur=((n-i+2)*(n-i+1)/2)%mod;
16         if(n-i*2+1>0) cur=(cur+(n-i*2+2)*(n-i*2+1)/2)%mod;
17         ans=(ans+cur)%mod;
18     }
19     cout<<ans<<endl;
20     return 0;
21 }

 

思路2:

技术图片

 

 

 

java实现

 

 1 public class Main {
 2     public static void main(String[] args) {
 3 //        int n=20210411,mod=1000000007;
 4 //        long arr[]=new long[n+1];
 5 //        long ji[]=new long[n+1];
 6 //        long ou[]=new long[n+1];
 7 //        ji[1]=1;
 8 //        for(int i=2;i<=n;i++){
 9 //            if(i%2==0){
10 //                ou[i]=ou[i-2]+i;
11 //            }else{
12 //                ji[i]=ji[i-2]+i;
13 //            }
14 //            ji[i]%=mod;
15 //            ou[i]%=mod;
16 //        }
17 //        for(int i=1;i<=n;i++){
18 //            arr[i]=arr[i-1];
19 //            arr[i]+=((1+i)*(long)i)/2;
20 //            arr[i]+=(i-1)%2==0?ou[i-1]:ji[i-1];
21 //            arr[i]%=mod;
22 //        }
23 //        System.out.println(arr[n]);
24         System.out.println("683228996");
25     }
26 }

 

三角形的个数

标签:img   return   ret   const   com   答案   upload   ==   cto   

原文地址:https://www.cnblogs.com/leoaioliabao/p/14649458.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!