排列平方数
来源:互联网 发布:吉力贝怪味糖 知乎 编辑:程序博客网 时间:2024/05/17 21:57
若干不同的数字,排列组合后能产生多少个平方数?
下面的代码解决了这个问题。
对于:1,6,9
排列后,可产生3个平方数:
169
196
961
请阅读下面的代码,填写缺失的部分(下划线部分)。
注意:请把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。
直接写在题面中不能得分。
public class My
{
public static void f(int[] a, int n)
{
if(n==a.length-1)
{
int k = 0;
for(int i=0; i<a.length; i++) k = ____________ + a[i]; // 填空1
int m = (int)(Math.sqrt(k)+0.5);
if(m*m==k)
{
System.out.println(k);
}
return;
}
for(int i=n; i<a.length; i++)
{
int t = a[n];
a[n] = a[i];
a[i] = t;
f(a, _______________); // 填空2
t = a[n];
a[n] = a[i];
a[i] = t;
}
}
public static void main(String[] args)
{
int[] a = {1,9,6};
f(a, 0);
}
}
// 若干不同的数字,排列组合能产生多少个平方数?// 满分 14 分// // 第一空 6分// k * 10 或者// 10 * k//// 第二空 8分// n+1 或者// 1+n//// 对每个不同的答案要细心,首先带入程序,看结果是否正确// 再换数据测试public class Test2{public static void f(int[] a, int n){if(n==a.length-1){int k = 0;for(int i=0; i<a.length; i++) k = k * 10 + a[i];int m = (int)(Math.sqrt(k)+0.5);if(m*m==k){System.out.println(k);}return;}for(int i=n; i<a.length; i++){int t = a[n];a[n] = a[i];a[i] = t;f(a, n+1);t = a[n];a[n] = a[i];a[i] = t;}}public static void main(String[] args){int[] a = {1,6,9};f(a, 0);}}
0 0
- 排列中的平方数
- 排列平方数
- 排列平方数
- 106.排列平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 平方数
- 金蝉平方数(回溯+全排列+String字符串API)
- 排列平方数 若干不同的数字,排列组合后能产生多少个平方数? 下面的代码解决了这个问题。
- 关于完全平方数
- 面试题:运算符优先级
- Hibernate : Pre Database Opertaion Event Listeners
- 五大常用算法之一:分治算法
- OpenCV cvDFT 傅里叶变换
- 五大常用算法之二:动态规划算法
- 排列平方数
- iOS ARC相关
- 显示Intent与隐式Intent
- 五大常用算法之三:贪心算法
- MyEclipse无法在tomcat部署web项目的可能原因
- 创建删除DBLINK
- zoj2967 Colorful Rainbows(凸包 排序 栈)
- <Http权威指南 1,2,3>Http概述
- 五大常用算法之四:回溯法