⑴ 这个用java判断完全平方数,输出yes或者no。
其实就是先判断n是否是正整数,然后对n开平方,开出来的数是正整数就是yes否则就是no
⑵ 用java怎么判断一个数是否为完全平方数
这种是数学问题了,完全平方数 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529…
找一下规律 就是开方可以得到一个int型整数 我有个笨办法
假定要判断的数是 X double d= Math.sqrt(x) (因不确定是否是完全平方,所以可能出现小数 这里用double)得到开放后的结果 ,做一个int 数组 int arr[]={0,1,2,3,4,5,6,7,8,9};
然后呢,我们用 一个for 循环 遍历d分别与arr中的每个元素进行%运算,外层再加一个for循环与每个%运算结果匹配 如果结果为true 那这个数就是完全平方数
!!
数学渣渣的人算起来就很复杂,还很可能让人看不懂,如果一个数学牛B的一两行代码说不定就搞定啦!!
思路出来了 我用代码又敲了一遍,下面代码送上
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int str=sc.nextInt();
int arr[]={0,1,2,3,4,5,6,7,8,9};
double d= Math.sqrt(str);
double ds=0;
j: for( int a:arr){
for(int h=0;h<arr.length;h++){
ds=d%arr[h];
if(ds==a){
System.out.println((int)d);
break j;
}
}
System.out.println("这个数不是");
break j;
}
}
⑶ Java 完全平方数
package com.wangsan.scjp.;
public class Test {
public static void main(String[] args) {
int i=1;
Test test=new Test();
while(!(test.validateSquere(i+100)&&test.validateSquere(i+168))){
i++;
}
System.out.println(i);
}
public boolean validateSquere(int a){
boolean t=false;
for(int i=1;i<=a/2;i++){
if(i*i==a){
t=true;
}
}
return t;
}
}
输出:156
嘿嘿 英语写错了~~
⑷ JAVA编程:每个数均可表示成若干个完全平方数(1,4,9,16,25……)之和
@SuppressWarnings("resource")
Scannersc=newScanner(System.in);
System.out.println("请输入一个自然数:");
intnumber=sc.nextInt();
doublea=0.0;
intx=0;
booleanflag=true;
intcount=0;
Stringstr=(int)number+"=";
do{
a=Math.sqrt(number);//开根
x=(int)Math.floor(a);//取整数部分
intn_x=(int)(number-Math.pow(x,2));//number-最大完全平方数
number=n_x;
if(n_x==0){
flag=false;
}
if(count==0){
str=str+(int)Math.pow(x,2);
}else{
str=str+"+"+(int)Math.pow(x,2);
}
count++;
}while(flag);
System.out.println("总个数"+count+" "+str);
我是直接从最大完全平方数开始找起,如果这个算法没错的话就可以用上面的代码
如果这个算法有问题的话,代码就要重新写了
⑸ Java计算一个数加上100是完全平方数,加上168还是完全平方数
for(int i = 1;;i++){
double s1 = Math.sqrt(i+100);
double s2 = Math.sqrt(i+168);
if((s1 == (int)s1) && (s2 == (int)s2) ){
System.out.println(i);
}
}
⑹ java把x变成完全平方数
采用队列来遍历层次搜索树。
采用队列来遍历层次搜索树,并定义内部类存储key,Sq,step三个值,找到key等于0,确定正确路径,13等于九加遍历的数,返回9以及最深的树高 2,表示13可以由step个完全平方数组成,在main函数中将9 add进入ArrayList里,重复获取13-9的最大平方数,最后打印结果。
⑺ 用java语言编写100到999之间的完全平方数的程序
package;
importjava.util.Scanner;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*@authorYUGIKONAMI
*/
publicclassCalcNumbers
{
publicstaticvoidmain(String[]args)
{
print2M(99);
}
privatestaticvoidprint2M(inti)
{
i++;
if(i>999)
{
return;
}
if(String.valueOf(Math.sqrt(i)).matches("^\d+\.0+$"))
{
System.out.println(i+"是完全平方数");
}
print2M(i);
}
}
⑻ java输入1个完全平方数,计算并输出其表达式.
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
System.out.println("请输入一个完全平方数");
Scannersc=newScanner(System.in);
intx=sc.nextInt();
intj=(int)Math.sqrt(x);
//其实应先判断是否是一个完全平方数.如果是,才进行输出
//但是你题目已经说了输入的是一个完全平方数,那就不用判断了
System.out.println(j+"*"+j+"="+x);
sc.close();
}
}
输出
请输入一个完全平方数
1024
32*32=1024
⑼ 在java中,怎么用循环输出完全平方数
importjava.util.*;
classTest_15{
publicstaticvoidmain(String[]args){
for(inti=0;i<100;i++){
if(Math.sqrt(i)%1==0){
System.out.print(i+"");
}
}
}
}
⑽ Java编程打印所有三位的完全平方数,并且三位数中至少要有两位数相等。
Private Sub Command1_Click() Dim i%, a%, b%, c% For i = 100 To 999 If Sqr(i) = Int(Sqr(i)) Then a = Left(i, 1) b = Mid(i, 2, 1) c = Right(i, 1) If a = b Or a = c Or b = c Then Print i End If Next i End Sub