เป้าหมาย
ใช้ภาษาการเขียนโปรแกรมที่คุณเลือกเขียนโปรแกรมที่สั้นที่สุดเพื่อกำจัดความคิดเห็นจากสตริงที่แทนโปรแกรม C
อินพุต
สตริงสามารถนำมาเป็นรูปแบบของการป้อนข้อมูลใด ๆ แต่ก็อาจถูกนำมาเป็นตัวแปร
คำแนะนำ
ความคิดเห็นที่แตกต่างกันสองประเภทจะถูกลบออก:
- ความคิดเห็นหลายบรรทัดเริ่มต้นด้วย
/*
และลงท้ายด้วย*/
- ความคิดเห็นบรรทัดเดียวเริ่มต้นด้วย
//
และลงท้ายด้วยตัวแบ่งบรรทัดสไตล์ Linux (LF,\n
)
ความคิดเห็นภายในสตริงจะไม่ถูกลบ สำหรับจุดประสงค์ของการท้าทายนี้คุณจะต้องพิจารณา"
สตริงที่ถูก จำกัด โดยเฉพาะอย่างยิ่งคุณสามารถเพิกเฉยต่อความเป็นไปได้ของ'
ตัวอักษรที่ถูก จำกัด ตัวอักษร นอกจากนี้คุณยังสามารถละเว้น Trigraphs และการดำเนินการต่อเนื่องของบรรทัด ( /\<LF>*...
)
ตัวอย่าง
การป้อนข้อมูล:
#include <stdio.h>
int main(int argc, char** argv)
{
// this comment will be removed
if (argc > 1) {
printf("Too many arguments.\n"); // this too will be removed
return 1;
}
printf("Please vist http://this.will.not.be.removed.com\n");
printf("/* This will stay */\n");
printf("\"/* This will stay too */\"\n");
printf("//and so will this\\");
// but not this
printf("just \"ano//ther\" test.");
return 0;
}
เอาท์พุท:
#include <stdio.h>
int main(int argc, char** argv)
{
if (argc > 1) {
printf("Too many arguments.\n");
return 1;
}
printf("Please vist http://this.will.not.be.removed.com\n");
printf("/* This will stay */\n");
printf("\"/* This will stay too */\"\n");
printf("//and so will this\\");
printf("just \"ano//ther\" test.");
return 0;
}
การป้อนข้อมูล:
/*
this shall disappear
*/
#include <string>
int main(int argc, char** argv)
{
string foo = ""/*remove that!**/;
// Remove /* this
int butNotThis = 42;
// But do */ remove this
int bar = 4 /*remove this*/* 3; // but don't remove that 3. */
return 0;//just a comment
}/*end of the file has been reached.*/
เอาท์พุท:
#include <string>
int main(int argc, char** argv)
{
string foo = "";
int butNotThis = 42;
int bar = 4 * 3;
return 0;
}
// this comment will be removed
ซึ่งเพิ่งหายไป มีกฎอะไรบ้าง?
printf("\"/* This will stay too */\"\n");
ปรากฏในควรเป็นรหัส?