結果
| 問題 |
No.648 お や す み
|
| コンテスト | |
| ユーザー |
snow4726
|
| 提出日時 | 2018-04-08 10:43:34 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 1,514 ms / 2,000 ms |
| コード長 | 1,003 bytes |
| コンパイル時間 | 671 ms |
| コンパイル使用メモリ | 28,544 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-13 22:11:11 |
| 合計ジャッジ時間 | 34,976 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 84 |
ソースコード
/**************************************************************
初項1、公差1、の等差数列の和が入力した数と同じになる場合は
「YES」とその項数を出力し、同じにならない場合は「NO」と出力する
プログラム
入力:指定した数値n
出力:nと数列の和が同じになる場合は「YES」とその項数、違う場合は「NO」
**************************************************************/
#include<stdio.h>
#include<inttypes.h>
int main(){
long long int i = 1; /* 等差数列の項数 */
long long int n; /* 指定した数値n */
scanf("%"SCNd64"",&n); /* 入力 */
/* 等差数列の和がn以上になるまで*/
while( (i*(i+1))/2 < n ){
i++;
}
if( (i*(i+1))/2 == n ){ /* nと等差数列の和が同じだった場合 */
printf("YES\n%lld\n",i); /* 「YES」とその項数を出力 */
}else{
printf("NO\n"); /* 「NO」を出力 */
}
return 0;
}
snow4726