NYOJ题目611练练
生活随笔
收集整理的這篇文章主要介紹了
NYOJ题目611练练
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-------------------------------
這道題是有技巧的,比如:
2+4+6+8...+n
= 2*1 + 2*2 + 2*3 + 2*4 + ... + 2*(n/2)
= 2* (1+2+3+4...+(n/2))
=2 * ( (n/2)*(1+n/2)/2) 即d為1的等差數列和公式,因為復雜的公式我記不住...
=(n/2)*(1+n/2)
別問我為什么這么2b,因為我數學是體育老師教的還都還回去了了....
只好百度等差數列公式:
嗯,至少應用在這個題上這個還不如我胡亂發明的簡便吶,所以也就不改動代碼了,不管黑貓白貓,能抓老鼠就是好吃的貓。
?
AC代碼:
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 5 public class Main { 6 7 public static void main(String[] args) throws NumberFormatException, IOException { 8 9 BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); 10 11 boolean first=true; 12 13 while(first || reader.ready()){ 14 first=false; 15 16 int n=Integer.parseInt(reader.readLine()); 17 18 n=n%2==0?n:n-1; 19 20 System.out.println((n/2)*(1+n/2)); 21 22 } 23 24 } 25 26 }?題目來源: http://acm.nyist.net/JudgeOnline/problem.php?pid=611
轉載于:https://www.cnblogs.com/cc11001100/p/5813114.html
總結
以上是生活随笔為你收集整理的NYOJ题目611练练的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python如何实现支持中文
- 下一篇: 图形学研究实力