第4週目4-正の整数クラス

1340 ワード

/*
*             
* Copyright (c)2012,            
* All rightsreserved.
*     :test.cpp
*       :   
*     : 2013  3   27  
*      : v1.0
*/
#include<iostream>
#include<Cmath>
using namespace std;
class NaturalNumber
{
private:
	int n; 
public:
	void setValue (int x);//     n  ,          
	int getValue();  //        n  
	bool isPrime();  //      n     ,   true,    false
	void printFactor();  //      n     ,   n  
};
void main(void)
{
	NaturalNumber nn;
	nn.setValue (6);
	cout<<nn.getValue()<<(nn.isPrime()?" ":"  ")<<"  " <<endl;
	nn.setValue (37); 
	cout<<nn.getValue()<<(nn.isPrime()?" ":"  ")<<"  " <<endl;
	nn.setValue (84); 
	cout<<nn.getValue()<<"    :";
	nn.printFactor();
	system("PAUSE");
}
void NaturalNumber::setValue (int x)//     n  ,          
{
	n=x;
}
int NaturalNumber::getValue() //        n  
{
	return n;
}
bool NaturalNumber::isPrime()//      n     ,   true,    false
{
	bool prime=true;
	for(int i=2;i<=sqrt(double(n));i++)
	{
		if(n%i==0) 
		{
			prime=false;
			break;
		}
	}
	return prime;
}
void NaturalNumber::printFactor() 
{
	for(int i=1;i<=n;i++)
		if(n%i==0) cout<<i<<' ';
	cout<<endl;
}

実行結果: