project11.java

来自「一些Java的小的应用程序」· Java 代码 · 共 42 行

JAVA
42
字号
/**编程在自然数0到30中找到数K,使得K,K×K,K×K×K都含数字d
 *  如d=1,k=11,k*k=121,k*k*k=1331*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class project11 {
	private static int N=30;
	public static void main(String args[]){
		try{BufferedReader input=new BufferedReader
			(new InputStreamReader(System.in));
		System.out.println("Enter a number:");
		int d=Integer.parseInt(input.readLine());
		for(int i=10;i<=N;i++)
		if(isVaild(i,d))
		{ System.out.println("k= "+i+"\nk*k= "+
		    		 Math.pow(i, 2)+"\nk*k*k= "+
		    		 Math.pow(i, 3));
		System.out.println();}
}catch(Exception e3){
	System.out.printf("ERROR!");
}}public static boolean isVaild(int k,int n){
	String s1=Integer.toString(k);
	String s2=Integer.toString((k*k));
	String s3=Integer.toString((k*k*k));
	boolean b1=false,b2 =false,b3=false;
	for(int i=0;i<s1.length();i++)
		if(s1.charAt(i)==n){b1=true;break;}
	for(int j=0;j<s2.length();j++)
		if(s2.charAt(j)==n){b2=true;break;}
	for(int i=0;i<s3.length();i++)
		if(s3.charAt(i)==n){b3=true;break;}
/**if(s1.charAt(0)==n&s1.charAt(s1.length()-1)==n
		&s2.charAt(0)==n&s2.charAt(s2.length()-1)==n
		&s3.charAt(0)==n&s3.charAt(s3.length()-1)==n)
	return true;
else return false;*/
	if(b1&b2&b3)return true;
	else return false;
}
	}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?