素数(そすう)というのは、「1より大きい整数で、1とその数以外で割り切れない数」のことです。 例えば、「5」は1より大きい整数で、1と5でしか割り切れないので素数です。 しかし、「6」は2や3でも割り切れるので、素数ではありません。
とりあえず、1から100まで整数が素数かどうか調べてみると、以下のとおりです。
此処でもループ処理をして結果をだしています。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// 初期処理
self.tvdisply.text = @"";
// 編集は不可 ストリートボード Behavion「editable」のチェックを外す
self.tvdisply.editable = NO;
// 約数の表示処理
//[self doDivisor];
// 素数表示処理
[self doPrime];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// 約数の表示処理
- (void)doDivisor
{
//int x = 0;
// (初期値;)
// ループ1
for (int i = 1; i <= 100; i++) {
//NSLog(@"iの数値:%d",i);
int l = 0;
// ループ2
for (int j = 1; j <= 10; j++) {
//NSLog(@"jの値:%d*%d = %d",i,j,x);
//
double k = i % j;
// 小数点以下2桁までのみをresultLabelに表示
//[kk setText:[NSString stringWithFormat: @"%.2f", k]];
// k = 0 割れたらならば lに1をプラス
if (k == 0) {
l++;
}
}
// AppendingFormat文字の追加
self.tvdisply.text =
[self.tvdisply.text stringByAppendingFormat:@"%d 約数の個数:%d \n", i, l];
}
}
// 素数表示処理
- (void)doPrime
{
//int x = 0;
// (初期値;)
// ループ1
for (int i = 1; i <= 100; i++) {
//NSLog(@"iの数値:%d",i);
int l = 0;
// ループ2
for (int j = 1; j <= 10; j++) {
double k = i % j;
// k = 0 割れたらならば lに1をプラス
if (k == 0) {
l++;
}
}
// AppendingFormat文字の追加 この記述の中で i * j 掛け算して表示している
if (i <= 10) {
if (l == 1 || l == 2) {
self.tvdisply.text =
[self.tvdisply.text stringByAppendingFormat:@"%d 素数:%d \n", i, l];
}
} else {
if (l == 1) {
self.tvdisply.text =
[self.tvdisply.text stringByAppendingFormat:@"%d 素数:%d \n", i, l];
}
}
}
}
@end
#import "DivisorViewController.h"
@interface DivisorViewController ()
@end
@implementation DivisorViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
// 初期処理
self.tvdisply.text = @"";
// 編集は不可 ストリートボード Behavion「editable」のチェックを外す
self.tvdisply.editable = NO;
// 約数の表示処理
[self doDivisor];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
// 約数の表示処理
- (void)doDivisor
{
//int x = 0;
// (初期値;)
// ループ1
for (int i = 1; i <= 100; i++) {
//NSLog(@"iの数値:%d",i);
int l = 0;
// ループ2
for (int j = 1; j <= 10; j++) {
//NSLog(@"jの値:%d*%d = %d",i,j,x);
//
double k = i % j;
// 小数点以下2桁までのみをresultLabelに表示
//[kk setText:[NSString stringWithFormat: @"%.2f", k]];
// k = 0 割れたらならば lに1をプラス
if (k == 0) {
l++;
}
}
// AppendingFormat文字の追加
self.tvdisply.text =
[self.tvdisply.text stringByAppendingFormat:@"%d 約数の個数:%d \n", i, l];
}
}
@end
GitHub Prime
▫️参考ページ
コメントをお書きください