1、平方末尾
能够表示为某个整数的平方的数字称为“平方数”
比如,25,64
虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。
因为平方数的末位只可能是:[0, 1, 4, 5, 6, 9] 这6个数字中的某个。
所以,4325435332必然不是平方数。
如果给你一个2位或2位以上的数字,你能根据末位的两位来断定它不是平方数吗?
请计算一下,一个2位以上的平方数的最后两位有多少种可能性?
注意:需要提交的是一个整数,表示2位以上的平方数最后两位的不同情况数。
不要填写任何多余内容(比如,说明解释文字等)
思路:
暴力破解,把int型的平方数变为字符串,再利用函数截取末尾2位,根据set集合元素不重复的特性,存入到set集合中,最后输出set集合的大小即可
代码如下:
答案:22
public static void main(String[] args) {
Set<String> ss=new HashSet<String>();
String s=null;
String n=null;
for(int i=10;i<=10000;i++){
s=i*i+"";
//截取最后两位
n=s.substring(s.length()-2);
ss.add(n);
}
System.out.println(ss.size());
}
2、七星填数
3、打印数字
打印数字
答案:\di[cc[j]-‘0’][i]
public class Main03 {
public static void main(String[] args) {
f(2016);
}
public static void f(int n){
String[][] di =
{{" 00000 ",
"0 0",
"0 0",
"0 0",
"0 0",
"0 0",
" 00000 "},
{" 1 ",
" 1 1 ",
" 1 ",
" 1 ",
" 1 ",
" 1 ",
" 1111"},
{" 22222 ",
"2 2",
" 2",
" 2 ",
" 2 ",
" 2 2",
"2222222"},
{" 33333 ",
"3 3",
" 3",
" 3333 ",
" 3",
"3 3",
" 33333 "},
{" 44 ",
" 4 4 ",
" 4 4 ",
"4 4 ",
"4 4 ",
"4444444",
" 4 "},
{" 55555 ",
" 5 ",
"555555 ",
" 5",
" 5",
"5 5",
" 55555 "},
{" 6666 ",
"6 ",
"666666 ",
"6 6",
"6 6",
"6 6",
" 66666 "},
{"7777777",
"7 7 ",
" 7 ",
" 7 ",
" 7 ",
" 7 ",
" 7 "},
{" 88888 ",
"8 8",
"8 8",
" 88888 ",
"8 8",
"8 8",
" 88888 "},
{" 99999 ",
"9 9",
"9 9",
" 999999",
" 9",
"9 9",
" 99999 "}};
char[] cc = (""+n).toCharArray();
for(int i=0; i<di[0].length; i++){
for(int j=0; j<cc.length; j++){
System.out.print(di[cc[j]-'0'][i]+" "); //填空位置
}
System.out.println();
}
}
}
4、愤怒小鸟
愤怒小鸟
X星球愤怒的小鸟喜欢撞火车!
一根平直的铁轨上两火车间相距 1000 米
两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。
愤怒的小鸟从A车出发,时速50米/秒,撞向B车,
然后返回去撞A车,再返回去撞B车,如此往复….
两火车在相距1米处停车。
问:这期间愤怒的小鸟撞 B 车多少次?
注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容。
代码
public class Main04 {
public static void main(String[] args) {
f(1000);
//注意:这里算的i是包括撞A车的,因此要除以2
if(i%2==0){
System.out.println(i/2);
}else{
System.out.println((i+1)/2);
}
}
public static int i=0;
public static double time;
/**
*
* @param len 两车之间的距离
*/
public static int f(double len){
time=len/60; //表示小鸟从一个车到另一个车的时间
len=len-time*2*10; //表示小鸟碰到车后,还剩的距离
if(len<=1){
return 0;
}
i++;
return f(len);
}
}