小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
四、题目
循环节长度
两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153…..其循环节为[846153]共有6位。下面的方法,可以求出循环节的长度。
请仔细阅读代码,并填写划线部分缺少的代码。
参考代码
public class Question4{
publicstaticvoidmain(String[]args) {
int n = f(11,13);
System.out.println(n);
}
public static int f(intn,intm)
{
n = n % m;
Vector v =new Vector();
for(;;)
{
v.add(n);
n *=10;
n = n % m;
if(n==0) return 0;
if(v.indexOf(n) >= 0)
returnv.size();//填空
}
}
}
五、题目
格子中输出 stringInGrid方法会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。
参考答案:
public class Question5{
public static void main(String[]args) {
stringInGrid(20,4,"abcd1234");
}
public static void stringInGrid(intwidth,intheight,String s)
{
if(s.length()>width-2)
s = s.substring(0,width-2);
System.out.print("+");
for(inti=0;i2;i++)
System.out.print("-");
System.out.println("+");
for(int k=1;k<(height-1)/2; k++){
System.out.print("|");
for(inti=0;i2;i++)
System.out.print("");
System.out.println("|");
}
System.out.print("|");
String ff =" "+s+" "; //填空
System.out.print(String.format(ff,"",s,""));
System.out.println("|");
for(int k=(height-1)/2+1; k>1; k++){
System.out.print("|");
for(inti=0;i2;i++)
System.out.print("");
System.out.println("|");
}
System.out.print("+");
for(inti=0;i2;i++)
System.out.print("-");
System.out.println("+");
}
}
六、题目
奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。分析:该数的平方数位数和加上立方和位数和正好是10位,我们可以人为的排除一部分不满足条件的
参考答案:
public class Question6 {
public static void main(String[]args){
f1();
}
//暴力破解
public static void f1(){
int s=0;
int v=0;
for(inti=40; i<100; i++){
s=(int)Math.pow(i,2);//四位数
inta=s;
intb=s/10;
intc=s/100;
intd=s/1000;
v=(int)Math.pow(i,3);//六位数
inte=v;
intf=v/10;
intg=v/100;
inth=v/1000;
intk=v/10000;
intm=v/100000;
if(a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=k&&a!=b&&b!=c&&b!=e&&b!=f&&b!=g&&b!=h&&b!=k&&b!=m &&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=k&&c!=m&&d!=e&&e!=f&&e!=g&&e!=h&&e!=k&&e!=m&&f!=h&&f!=k&&f!=m
&&f!=g&&g!=h&&h!=k&&k!=m&&m!=a&&(a+b+c+d+e+f+g+h+k+m==45))
{
System.out.println(i);
}
}
}
}