30
ตัวเลขหารด้วยตัวเลขแต่ละตัวหรือไม่
เพื่อนของฉันและฉันกำลังทำงานในห้องแล็บในวิชาวิทยาศาสตร์คอมพิวเตอร์ AP ของเราและตัดสินใจที่จะเขียนรหัสกอล์ฟปัญหาเนื่องจากเรายังมีครึ่งชั้นเรียนฟรีหลังจากเสร็จ นี่คือคำถาม: รับตัวเลข n, หารด้วยตัวเลขแต่ละตัวได้หรือไม่? ตัวอย่างเช่น 128 จะผ่านการทดสอบนี้มันหารด้วย 1,2 และ 8 ตัวเลขใด ๆ ที่มีศูนย์จะตัดสิทธิ์หมายเลขนั้นโดยอัตโนมัติ ในขณะที่คุณอาจใช้ภาษาอื่นและโพสต์โซลูชันด้วยหากต้องการเรามีความสนใจมากที่สุดในการเห็นว่าผู้ใช้งานขนาดเล็กสามารถสร้างโปรแกรมใน Java ได้อย่างไรเนื่องจากเป็นภาษาที่เราใช้ในชั้นเรียน จนถึงตอนนี้เราทั้งคู่มี 51 นี่คือรหัสปัจจุบันของฉัน: public boolean dividesSelf(int n){for(int p=n;n%10>0;)n/=p%(n%10)>0?.1:10;return n<1;} // 51 characters // Breakdown: // for(int p=n; Saves one semicolon to put declaration into for loop // n%10>0;) Basic check-for-zero // …
47
code-golf