求4位车牌号:
特征:1. 前两位数字相同
2. 后两位数字相同,但与前两位不同
3. 是某个整数平方
以下我写的代码:
public class CarLisence {
public static void main(String [] args){
new GuessNum().guess();
}
}
class GuessNum{
public void guess(){
int [] a=new int[4];
int n,i,fac ;
for(n=33;n<100;n++){
fac=(int)Math.pow(n, 2);
for(i=0;i<=3;i++){
a[i]=fac%10;
fac=fac/10;
}
if(a[0]==a[1]&&a[2]==a[3]){
System.out.println("number:"+a[3]+a[2]+a[1]+a[0]);
}
}
}
}
望指点!
各位高手也贴一下代码,让小弟看看各位的思路学习一下
特征:1. 前两位数字相同
2. 后两位数字相同,但与前两位不同
3. 是某个整数平方
以下我写的代码:
public class CarLisence {
public static void main(String [] args){
new GuessNum().guess();
}
}
class GuessNum{
public void guess(){
int [] a=new int[4];
int n,i,fac ;
for(n=33;n<100;n++){
fac=(int)Math.pow(n, 2);
for(i=0;i<=3;i++){
a[i]=fac%10;
fac=fac/10;
}
if(a[0]==a[1]&&a[2]==a[3]){
System.out.println("number:"+a[3]+a[2]+a[1]+a[0]);
}
}
}
}
望指点!
各位高手也贴一下代码,让小弟看看各位的思路学习一下
public static void main(String[] args) {
new GuessNum().guess();
}
}
class GuessNum {
public void guess() {
int n, i, fac;
for (n = 33; n < 100; n++) {
fac = (int) Math.pow(n, 2);
String s = String.valueOf(fac);
if (s.charAt(0) == s.charAt(1) && s.charAt(2) == s.charAt(3)) {
System.out.println("number:" + s);
} }
}
}
charAt()就是寻找一个字符串中每个字符的位置是么?
{
public static void main(String[] args)
{
int num1 = 0; //前两位
int num2 = 0; //后两位
int s = 0;
int result = 0; ArrayList<Integer> al = new ArrayList<Integer>(); for (int i=32; i<100; i++)
{
s = i*i;
al.add(s);
} Iterator it = al.iterator(); while (it.hasNext())
{
int a = (Integer)it.next();
num1 = a/100;
num2 = a%100; if(num1/10 == num1%10 && num2/10 == num2%10 && num1 != num2)
{
result = a;
}
} System.out.println(result); }
}
for(int j = 0; j < 10; j++) {
int z = i * 1100 + j * 11;
int result = (int)Math.pow(Math.round(Math.sqrt(z)), 2);
if(z == result) {
System.out.println(z);
}
}
}
忘了加判断if(i == j) continue;
int z = i * 1100 + (11 - i) * 11;
int result = (int)Math.pow(Math.round(Math.sqrt(z)), 2);
if(z == result) {
System.out.println(z);
}
}这个循环次数更少