Python の勉強として入力した値が素数かどうかを判定するプログラムを組んでみました。まだ if と for しか知らないのでその二つを駆使してみました。
flag = 0
x = int(input('Please enter an integer: '))
if x <= 0:
print('This is negative')
elif x == 1:
flag = 0
elif x % 2 == 0:
if x == 2:
flag = 0
else:
flag = 1
else:
for i in range(x - 2):
if x % (i + 2) == 0:
flag = 1
break
if flag == 0:
print('This is a sosu')
else:
print('This is not a sosu')
こうなるとC とどれくらい違うのか気になるので久しぶりにC 言語でも同じプログラムを組んでみました。
#include <stdio.h>
int main(void){
int x, i;
char xs[10];
int flag = 0;
printf("Please enter an integer: ");
gets(xs);
x = atoi(xs);
if(x <= 0){
printf("This is negative");
}
else if(x == 1){
flag = 0;
}
else if(x % 2 == 0){
if(x == 2){
flag = 0;
}
else{
flag = 1;
}
}
else{
for(i = 0; i < x - 2; i ++){
if(x % (i + 2) == 0){
flag = 1;
break;
}
}
}
if(flag == 0){
printf("This is a sosu");
}
else{
printf("This is not a sosu");
}
}
比較の為にぎゅうぎゅう詰めにしました笑。
C はPython のコードの2倍くらいの長さになりました。Python すっきりしていい感じです。