 |
 
ความคิดเห็นที่ 4 |
จำนวนนับที่มีค่าน้อยกว่า 1 หมื่น และมีคุณสมบัติที่ต้องการ มี63ตัวครับ 1 , 2 , 3 , 11 , 12 , 13 , 21 , 22 , 31 , 101 , 102 , ... , 3001 , 3011 , 3101 , 3111
สำหรับตัวที่มากกว่านี้ยังติดปัญหาOverflowอยู่คงต้องแก้โค้ดไปใช้stringแทน int (ภาษาc++ครับ)
# include <iostream> using namespace std;
int reverse (int n) {int L=0,m=10; while (n/m > 0) {m=m*10; L++;} m = m/10; int A[L+1]; for (int i=0;i<=L;i++) {A[i] = (n/m)%10; m = m/10; } int result = 0; int k = 1; for (int i=0;i<=L;i++) {result = result + (A[i]*k); k=k*10;} return result; }
int main () { int a,b; int c = 0; for (int i = 1;i<=9999;i++) { if(i*i == reverse(reverse(i)*reverse(i))) {cout<<i<<endl; c++;} } cout<<"There "<<c<<endl; system ("pause"); return 0; }
แก้ไขเมื่อ 01 ม.ค. 55 18:35:25
จากคุณ |
:
อิอิคุง
|
เขียนเมื่อ |
:
วันปีใหม่ 55 18:31:11
|
|
|
|
 |