結果
問題 | No.276 連続する整数の和(1) |
ユーザー |
|
提出日時 | 2016-05-18 19:06:21 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 131 ms / 1,000 ms |
コード長 | 802 bytes |
コンパイル時間 | 2,020 ms |
コンパイル使用メモリ | 74,912 KB |
実行使用メモリ | 54,340 KB |
最終ジャッジ日時 | 2024-10-06 05:34:42 |
合計ジャッジ時間 | 4,059 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 10 |
ソースコード
package yukicoder;import java.util.Scanner;public class Main{public static void main(String[] args){new Main().solve();}void solve(){Scanner sc=new Scanner(System.in);long n=sc.nextLong();if(n%2==0){System.out.println(n/2);}else{System.out.println(n);}/** 連続するN個の正整数の和を一般に割る最大値を求めよ。** 1からMまでの和は(1/2)M(M+1)* 1からM+Nまでの和は(1/2)(M+N)(M+N+1)* M+1からM+Nまでの和は* (1/2)( (M+N)(M+N+1) - M(M+1) )* =(1/2)( MN + NM + N^2 + N )* =(1/2)( 2MN + N + N^2)* =(1/2)N( 2M + N + 1 )* i)N=2kと書けるとき* =k(2M+2k+1)* より、N/2で割れる。* ii)N=2k-1と書けるとき* =N(M+k)* よりNで割れる。***/}}