#include <limits.h> #include <math.h> #include <stdio.h> #include <stdlib.h> int main(void) { // your code goes here unsigned char magnitude; char* metricPrefix; void* memery; magnitude = 0; metricPrefix = "kMGTPEZYR"; do { else if (magnitude > 9) printf("Successfully allocated %hu %cB\n", (unsigned short)(1 << (magnitude % 10)), metricPrefix[(magnitude / 10) - 1]); else printf("Successfully allocated %hu byte%s\n", (unsigned short)(1 << magnitude), (char*)((size_t)"s" + ((magnitude < 1) & 1))); } while (magnitude++ < UCHAR_MAX); return 0; };
Standard input is empty
Successfully allocated 1 byte Successfully allocated 2 bytes Successfully allocated 4 bytes Successfully allocated 8 bytes Successfully allocated 16 bytes Successfully allocated 32 bytes Successfully allocated 64 bytes Successfully allocated 128 bytes Successfully allocated 256 bytes Successfully allocated 512 bytes Successfully allocated 1 kB Successfully allocated 2 kB Successfully allocated 4 kB Successfully allocated 8 kB Successfully allocated 16 kB Successfully allocated 32 kB Successfully allocated 64 kB Successfully allocated 128 kB Successfully allocated 256 kB Successfully allocated 512 kB Successfully allocated 1 MB Successfully allocated 2 MB Successfully allocated 4 MB Successfully allocated 8 MB Successfully allocated 16 MB Successfully allocated 32 MB Successfully allocated 64 MB Successfully allocated 128 MB Successfully allocated 256 MB Successfully allocated 512 MB Successfully allocated 1 GB Successfully allocated 2 GB Successfully allocated 4 GB Successfully allocated 8 GB Successfully allocated 16 GB Successfully allocated 32 GB Successfully allocated 64 GB Successfully allocated 128 GB Successfully allocated 256 GB Successfully allocated 512 GB Successfully allocated 1 TB Successfully allocated 2 TB Successfully allocated 4 TB Successfully allocated 8 TB Successfully allocated 16 TB Successfully allocated 32 TB Successfully allocated 64 TB Successfully allocated 128 TB Successfully allocated 256 TB Successfully allocated 512 TB Successfully allocated 1 PB Successfully allocated 2 PB Successfully allocated 4 PB Successfully allocated 8 PB Successfully allocated 16 PB Successfully allocated 32 PB Successfully allocated 64 PB Successfully allocated 128 PB Successfully allocated 256 PB Successfully allocated 512 PB Successfully allocated 1 EB Successfully allocated 2 EB Successfully allocated 4 EB Successfully allocated 8 EB Successfully allocated 16 EB Successfully allocated 32 EB Successfully allocated 64 EB Successfully allocated 128 EB Successfully allocated 256 EB Successfully allocated 512 EB Successfully allocated 1 ZB Successfully allocated 2 ZB Successfully allocated 4 ZB Successfully allocated 8 ZB Successfully allocated 16 ZB Successfully allocated 32 ZB Successfully allocated 64 ZB Successfully allocated 128 ZB Successfully allocated 256 ZB Successfully allocated 512 ZB Successfully allocated 1 YB Successfully allocated 2 YB Successfully allocated 4 YB Successfully allocated 8 YB Successfully allocated 16 YB Successfully allocated 32 YB Successfully allocated 64 YB Successfully allocated 128 YB Successfully allocated 256 YB Successfully allocated 512 YB Successfully allocated 1 RB Successfully allocated 2 RB Successfully allocated 4 RB Successfully allocated 8 RB Successfully allocated 16 RB Successfully allocated 32 RB Successfully allocated 64 RB Successfully allocated 128 RB Successfully allocated 256 RB Successfully allocated 512 RB Successfully allocated 1 QB Successfully allocated 2 QB Successfully allocated 4 QB Successfully allocated 8 QB Successfully allocated 16 QB Successfully allocated 32 QB Successfully allocated 64 QB Successfully allocated 128 QB Successfully allocated 256 QB Successfully allocated 512 QB Successfully allocated 1024 QB Successfully allocated 2048 QB Successfully allocated 4096 QB Successfully allocated 8192 QB Successfully allocated 16384 QB Successfully allocated 32768 QB Successfully allocated 65536 QB Successfully allocated 131072 QB Successfully allocated 262144 QB Successfully allocated 524288 QB Successfully allocated 1048576 QB Successfully allocated 2097152 QB Successfully allocated 4194304 QB Successfully allocated 8388608 QB Successfully allocated 16777216 QB Successfully allocated 33554432 QB Successfully allocated 67108864 QB Successfully allocated 134217728 QB Successfully allocated 268435456 QB Successfully allocated 536870912 QB Successfully allocated 1073741824 QB Successfully allocated 2147483648 QB Successfully allocated 4294967296 QB Successfully allocated 8589934592 QB Successfully allocated 17179869184 QB Successfully allocated 34359738368 QB Successfully allocated 68719476736 QB Successfully allocated 137438953472 QB Successfully allocated 274877906944 QB Successfully allocated 549755813888 QB Successfully allocated 1099511627776 QB Successfully allocated 2199023255552 QB Successfully allocated 4398046511104 QB Successfully allocated 8796093022208 QB Successfully allocated 17592186044416 QB Successfully allocated 35184372088832 QB Successfully allocated 70368744177664 QB Successfully allocated 140737488355328 QB Successfully allocated 281474976710656 QB Successfully allocated 562949953421312 QB Successfully allocated 1125899906842624 QB Successfully allocated 2251799813685248 QB Successfully allocated 4503599627370496 QB Successfully allocated 9007199254740992 QB Successfully allocated 18014398509481984 QB Successfully allocated 36028797018963968 QB Successfully allocated 72057594037927936 QB Successfully allocated 144115188075855872 QB Successfully allocated 288230376151711744 QB Successfully allocated 576460752303423488 QB Successfully allocated 1152921504606846976 QB Successfully allocated 2305843009213693952 QB Successfully allocated 4611686018427387904 QB Successfully allocated 9223372036854775808 QB Successfully allocated 18446744073709551616 QB Successfully allocated 36893488147419103232 QB Successfully allocated 73786976294838206464 QB Successfully allocated 147573952589676412928 QB Successfully allocated 295147905179352825856 QB Successfully allocated 590295810358705651712 QB Successfully allocated 1180591620717411303424 QB Successfully allocated 2361183241434822606848 QB Successfully allocated 4722366482869645213696 QB Successfully allocated 9444732965739290427392 QB Successfully allocated 18889465931478580854784 QB Successfully allocated 37778931862957161709568 QB Successfully allocated 75557863725914323419136 QB Successfully allocated 151115727451828646838272 QB Successfully allocated 302231454903657293676544 QB Successfully allocated 604462909807314587353088 QB Successfully allocated 1208925819614629174706176 QB Successfully allocated 2417851639229258349412352 QB Successfully allocated 4835703278458516698824704 QB Successfully allocated 9671406556917033397649408 QB Successfully allocated 19342813113834066795298816 QB Successfully allocated 38685626227668133590597632 QB Successfully allocated 77371252455336267181195264 QB Successfully allocated 154742504910672534362390528 QB Successfully allocated 309485009821345068724781056 QB Successfully allocated 618970019642690137449562112 QB Successfully allocated 1237940039285380274899124224 QB Successfully allocated 2475880078570760549798248448 QB Successfully allocated 4951760157141521099596496896 QB Successfully allocated 9903520314283042199192993792 QB Successfully allocated 19807040628566084398385987584 QB Successfully allocated 39614081257132168796771975168 QB Successfully allocated 79228162514264337593543950336 QB Successfully allocated 158456325028528675187087900672 QB Successfully allocated 316912650057057350374175801344 QB Successfully allocated 633825300114114700748351602688 QB Successfully allocated 1267650600228229401496703205376 QB Successfully allocated 2535301200456458802993406410752 QB Successfully allocated 5070602400912917605986812821504 QB Successfully allocated 10141204801825835211973625643008 QB Successfully allocated 20282409603651670423947251286016 QB Successfully allocated 40564819207303340847894502572032 QB Successfully allocated 81129638414606681695789005144064 QB Successfully allocated 162259276829213363391578010288128 QB Successfully allocated 324518553658426726783156020576256 QB Successfully allocated 649037107316853453566312041152512 QB Successfully allocated 1298074214633706907132624082305024 QB Successfully allocated 2596148429267413814265248164610048 QB Successfully allocated 5192296858534827628530496329220096 QB Successfully allocated 10384593717069655257060992658440192 QB Successfully allocated 20769187434139310514121985316880384 QB Successfully allocated 41538374868278621028243970633760768 QB Successfully allocated 83076749736557242056487941267521536 QB Successfully allocated 166153499473114484112975882535043072 QB Successfully allocated 332306998946228968225951765070086144 QB Successfully allocated 664613997892457936451903530140172288 QB Successfully allocated 1329227995784915872903807060280344576 QB Successfully allocated 2658455991569831745807614120560689152 QB Successfully allocated 5316911983139663491615228241121378304 QB Successfully allocated 10633823966279326983230456482242756608 QB Successfully allocated 21267647932558653966460912964485513216 QB Successfully allocated 42535295865117307932921825928971026432 QB Successfully allocated 85070591730234615865843651857942052864 QB Successfully allocated 170141183460469231731687303715884105728 QB Successfully allocated 340282366920938463463374607431768211456 QB Successfully allocated 680564733841876926926749214863536422912 QB Successfully allocated 1361129467683753853853498429727072845824 QB Successfully allocated 2722258935367507707706996859454145691648 QB Successfully allocated 5444517870735015415413993718908291383296 QB Successfully allocated 10889035741470030830827987437816582766592 QB Successfully allocated 21778071482940061661655974875633165533184 QB Successfully allocated 43556142965880123323311949751266331066368 QB Successfully allocated 87112285931760246646623899502532662132736 QB Successfully allocated 174224571863520493293247799005065324265472 QB Successfully allocated 348449143727040986586495598010130648530944 QB Successfully allocated 696898287454081973172991196020261297061888 QB Successfully allocated 1393796574908163946345982392040522594123776 QB Successfully allocated 2787593149816327892691964784081045188247552 QB Successfully allocated 5575186299632655785383929568162090376495104 QB Successfully allocated 11150372599265311570767859136324180752990208 QB Successfully allocated 22300745198530623141535718272648361505980416 QB Successfully allocated 44601490397061246283071436545296723011960832 QB Successfully allocated 89202980794122492566142873090593446023921664 QB Successfully allocated 178405961588244985132285746181186892047843328 QB Successfully allocated 356811923176489970264571492362373784095686656 QB Successfully allocated 713623846352979940529142984724747568191373312 QB Successfully allocated 1427247692705959881058285969449495136382746624 QB Successfully allocated 2854495385411919762116571938898990272765493248 QB Successfully allocated 5708990770823839524233143877797980545530986496 QB Successfully allocated 11417981541647679048466287755595961091061972992 QB Successfully allocated 22835963083295358096932575511191922182123945984 QB Successfully allocated 45671926166590716193865151022383844364247891968 QB