用完全平方数填满指定区域(洛谷P2666题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
用完全平方数填满指定区域(洛谷P2666题题解,Java语言描述)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目要求
P2666題目鏈接
分析
按照題目要求,無(wú)非是用四個(gè)完全平方數(shù)填滿指定區(qū)域罷了。
N就是多大區(qū)域而已啦,塊數(shù)實(shí)際上是4塊,也就是4個(gè)完全平方數(shù)。
這樣看來(lái)這題不難,但我們打個(gè)表也是極好的。
先構(gòu)一個(gè)打平方數(shù)程序:
public class Pow {public static void main(String[] args) {for (int i = 0; i <= 100; i++) {System.out.print((i*i) + ",");}} }接下來(lái)就是進(jìn)行O(N4)的四重循環(huán)啦,湊一湊,OK就計(jì)個(gè)數(shù)。
AC代碼(Java語(yǔ)言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {int[] array = new int[] {0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024,1089,1156,1225,1296,1369,1444,1521,1600,1681,1764,1849,1936,2025,2116,2209,2304,2401,2500,2601,2704,2809,2916,3025,3136,3249,3364,3481,3600,3721,3844,3969,4096,4225,4356,4489,4624,4761,4900,5041,5184,5329,5476,5625,5776,5929,6084,6241,6400,6561,6724,6889,7056,7225,7396,7569,7744,7921,8100,8281,8464,8649,8836,9025,9216,9409,9604,9801,10000};Scanner scanner = new Scanner(System.in);int num = scanner.nextInt(), counter = 0;scanner.close();for (int i = 0; i <= 100; i++) {for (int j = 0; j <= 100; j++) {for (int k = 0; k <= 100; k++) {for (int l = 0; l <= 100; l++) {if (array[i] + array[j] + array[k] +array[l] == num) {counter++;}}}}}System.out.println(counter);} }總結(jié)
以上是生活随笔為你收集整理的用完全平方数填满指定区域(洛谷P2666题题解,Java语言描述)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 不重复的两两比较(洛谷P5728题题解,
- 下一篇: 简单粗暴地开个十层循环(洛谷P2089题