第18講 素数・完全数・友愛数・フィボナッチ数列探索
第4話 友愛数探索プログラム
解答コード例
import java.io.*;
class y{
static int n,cn=0,s;
static int[] x=new int[1000];
public static void main(String args[])throws IOException{
BufferedReader q=new BufferedReader(new InputStreamReader(System.in));
System.out.println("探索範囲を入力してください。");
System.out.print ("探索範囲=");
n=Integer.parseInt(q.readLine());
f();
}
public static void f(){
int i;
for(i=2;i<=n;i++){
if(g(i)){ //これはif(g(i)==true){と同じ。Javaでは式自体が値をもち、正しいときはtrue、正しくないときはfalseの値をもつ。
x[cn]=s;
System.out.println(i+" "+s);
cn++;
}
}
}
public static boolean g(int a){
int i;
for(i=0;i<cn;i++)if(x[i]==a)return(false);
int k,w;
int[] h=new int[100000];
h[0]=1;
k=1;
for(i=2;i<=a/2;i++){
if(a%i==0){
h[k]=i;
k++;
}
}
s=0;
for(i=0;i<k;i++)s+=h[i];
k=1;
if(s==a)return(false);
for(i=2;i<=s/2;i++){
if(s%i==0){
h[k]=i;
k++;
}
}
w=0;
for(i=0;i<k;i++)w+=h[i];
if(a==w)return(true); else return(false);
}
}
実行例
次話は、フィボナッチ数列の探索です。
第3話へ 第5話へ
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部