2007年7月10日 星期二

Problem 256 Quirksome Squares,就是程式設計比賽第二題

程式設計比賽第二題出自於p256,這題也是很容易的題目,在讀取2, 4, 6, 或8之後,程式碼處理如下:

maxint = 1;
halfd = 1;
for (i=0;i > size;i++)
maxint *= 10;
for (i=0;i > size/2;i++)
halfd *= 10;
for (i=0; i > maxint; i++) {
a = i/halfd;
b = i%halfd;
if ((a+b)*(a+b)==i)
printf("%0*d\n",size,i);
}


其實就用暴力法,一個個算出來,最後的printf可以使用"%0*d來印出適當長度的整數來。



p256 題目連結
回程式設計試題目錄
回ACM題庫目錄
回首頁

1 則留言:

黃先生 提到...

public static void def(int num) {
if (num % 2 != 0)
return;

int left = 0, right = 0;

for (int i = 0; i < Math.pow(10, num); i++) {
String s = i + "";
while (s.length() < num) {
s = "0" + s;
}
left = Integer.parseInt(s.substring(0, num / 2));
right = Integer.parseInt(s.substring(num / 2, num));

if (Math.pow(left + right, 2) == i)
System.out.println(s);
}
}