判斷一個數是否為完美數核心程式碼
import java.util.*;
//整除找因子必然用到模運算
public class 完美數 {
public boolean isPerfect(int n) {
int sum=0;
for(int i=1;i<n;i++) {
if(n%i==0) {//模運算找到因子
sum+=i;
}
}
if(sum==n) {//判斷結果是否和本身相等
return true;
}else {
return false;
}
}
public void run() {
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
System.out.print("請輸入一個數:");
int n=sc.nextInt();
if(isPerfect(n)) {
System.out.println("完美數");
}else {
System.out.println("不是完美數");
}
}
public static void main(String args[]) {
new 完美數().run();
}
}
相關推薦
判斷一個數是否為完美數核心程式碼
package 演算法學習;import java.util.*;//整除找因子必然用到模運算public class 完美數 {public boolean isPerfect(int n) {int sum=0;for(int i=1;i<n;i++) {if(n%
判斷一個數是否為回數
判斷 n) back for format %s 個數 一個 lse 回數:數字正反都是它本身就叫回數 def is_back_num(num): if str(num) == str(n)[::-1]
判斷一個數是否為水仙花數
原部落格地址 在判斷某一個數是水仙花數之前,我們先介紹一下什麼是水仙花數。 水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant,PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗
怎麼判斷一個數是否為完全平方數
在不使用浮點函式sqrt的情況下,我們有一些比較好的演算法: 1.利用恆等式: 1+3+5+7+....+(2*n-1)=n^2 bool isSqrt(int n) { for(int i=1;n>0;i+=2) n-=i; return 0 == n;
C語言經典演算法100例-030-判斷一個數是否為迴文數
所謂迴文數,即是正序與逆序相等的一個數,如121,12321,10501等。寫程式判斷輸入的數是否為迴文數。 1.分析:表面上看,我們似乎要這麼做,把各個位分離,然後把第一個數跟最後一個數比較,第二個跟倒數第二個....等等。注意,這樣做太複雜了,迴文數的條件是正序等於逆序
用Python判斷一個數是否為迴文數(或者回文字串)
所謂迴文數。就是正著讀和反著讀,都是一樣的。 例如: 數字:121、1331、22、都是迴文數。 1234 不是迴文數。 自然數中最小的迴文數是0,再就是1,2,3,4,5,6,7,8,9,
C:冒泡排序&判斷一個數是否為素數&求平方根的叠代公式
mat stdio.h ret 找不到 nbsp emp prim 冒泡排序 公式 冒泡排序 #include<stdio.h> int main () { int i,j,n,temp,a[10]; scanf("%d",&n);
判斷一個數是否為2的N次方
在閱讀goim原始碼的時候, 在ring.go中看到這句程式碼: // 2^N if num&(num-1) != 0 { // ... } 原來這是判斷2的N次方。 然後總結了下, 判斷一個數n是否為2的N次方的辦法(要求n>0): 第一種:笨辦法
用python語言來判斷一個數是否是水仙花數?
#用python語言來判斷一個數是否是水仙花數? #水仙花數: # 1) 一個三位正整數 ( 即取值區間 [100,1000) ) # 2) 個位數字的立方+十位數字的立方+百位數字的立方=它本身 (即數字 abc = a**3 + b**3 + c**3) 程式碼: for
C語言之判斷一個數是否為素數
#include "stdio.h" #include"time.h" #include"math.h" int isPrimeNumber(int number) { //判斷是否為素數 float sqrtOfNum = sqrt((double) number); for
Python之判斷一個數是否為素數
import math def is_prime(number): # 判斷是否為素數 sqrt = int(math.sqrt(number)) for j in range(2, sqrt + 1): # 從2到number的算術平方根迭代 if in
C++之判斷一個數是否為素數
#include <iostream> #include "math.h" using namespace std; bool isPrimeNumber(int number) { //判斷是否為素數 float sqrtOfNum = sqrt(number);
Java之判斷一個數是否為素數
public class PrimeNumberTest { public static void main(String[] args) { long start = System.currentTimeMillis(); System.out.prin
判斷一個數是否為素數(質數)-- 程式碼優化
【概念】 質數又稱素數。一個大於1的自然數,除了1和它自身外,不能整除其他自然數的數叫做質數;否則稱為合數。 這裡以Python程式碼為例,最簡單的一種想法,按照概念: def is_prime(num
一題多解 —— 判斷一個數是否為奇數
對 2 取模,是否為 1?(負奇數對 2 取模,為 -1) jshell> 5 % 2 $1 ==> 1 jshell> -5 % 2 $2 ==> -1 同 1 相與;
如何判斷一個數是否為2的冪次方
最近在OJ上做題,遇到一道題,其中一個細節就是需要判斷一個數是否為2的冪次方。初看似乎很簡單,可我想來想去,竟然無甚好辦法。最後我用一個笨辦法解決了,那就是將2 4 8 16 32… …存到一個數組裡,遍歷一遍陣列就知道了。但是這個辦法著實不優美。 下面介紹一個好辦法
程式判斷一個數是否為偶數 一個數是否為奇數
(判斷一個數為偶數) #incliude<stdio.h> void main() { int n; printf("input n"); scanf ("%d",&n) if (n%2==0)
如何判斷一個數是完全平方數
bool isSqr(int n){ int a = (int)(sqrt(n) + 0.5); //四捨五入求整,又學到一招 return a * a == n;} bool isSqr(int n) { int a = (int)(sqrt(n)
用三元運算子判斷一個數是否為偶數!
//正在學Java,呵呵,挺簡單的,拿來練練語法而已。 import java.util.Scanner; //引入Scannet類,用於輸入 public class OuShu { public static void main(String args[]){
C語言判斷一個數是否為素數
所謂素數,是指除了1和本身之外,不能被其他任何整數整除的數。 判斷一個數n(n>=3)的方法:將n作為被除數,將2到(n-1)各個整數先後做除數,如果都不能被整除,則n為素數。 演算法分析: S1:輸入n的值 S2:i=2(i作為除數) S3:n被i除,得餘數r,r=