結果
| 問題 |
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で割れる。
*
*
*/
}
}