⑴ 這個用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