Submission #00369


ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
double n, s;
int i, flag, count, data, base = 1, num = 0, num2 = 0;
while(1){
flag = 0;
count = 0;
num = 0;
base = 1;
cin >> n;
if(n < 0){
break;
}else if(n > 255.9375){
cout << "NA" << endl;
cin >> n;
}
data = (int)n;
s = n - (double)data;
while(data > 0){
num += (data % 2) * base;
data /= 2;
base *= 10;
}
num2 = 0;
for(i = 0; i < 4; i++){
s *= 2.0;
num2 *= 10;
if(s >= 1){
num2 += 1;
s -= 1;
}else{
num2 += 0;
}
}
if(s > 0){
flag = 1;
}
data = num;
if(flag == 0){
if(num == 0){
cout << "0000000";
}else if((num/10000000)==1){
}else if((num/1000000)==1){
cout << "0";
}else if((num/100000)==1){
cout<<"00";
}else if((num/10000)==1){
cout << "000";
}else if((num/1000)==1){
cout << "0000";
}else if((num/100)==1){
cout << "00000";
}else if((num/10)==1){
cout << "000000";
}else if((num/1)==1){
cout << "0000000";
}
cout << num << ".";
if(num2 == 0){
cout << "0000" << endl;
}else{
if((num2/1000)==1){
}else if((num2/100)==1){
cout << "0";
}else if((num2/10)==1){
cout << "00";
}else if((num2/1)==1){
cout << "000";
}
cout << num2 << endl;
}
}else{
cout << "NA" << endl;
}
}
}

ステータス

項目 データ
問題 0005 - 博士の愛した2 進数
ユーザー名 Toppy
投稿日時 2016-08-29 11:51:48
言語 C++
状態 Accepted
得点 9
ソースコード長 1506 Byte
最大実行時間 36 ms
最大メモリ使用量 668 KB

セット

セット 得点 Cases
1 ALL 9 / 9 *

テストケース

ファイル名 状態 実行時間 メモリ使用量 #
00.in AC 14 ms 476 KB
1
01.in AC 22 ms 456 KB
1
02.in AC 30 ms 560 KB
1
03.in AC 36 ms 668 KB
1