#include <stdio.h>
int main(){
int i, n;
int hantei(int);
printf("自然数を入力してください: ");
scanf("%d", &n);
i=hantei(n);
if (i==1) {
printf("YES: 3の倍数または3がつきます。\n");
} else if (i==0) {
printf("NO: 3の倍数でないし、3がつきません。\n");
} else {
printf("入力エラーです。\n");
}
return 0;
}
int hantei(int n)
/* nが3の倍数かまたは、3がつくとき 1 を、そうでなければ 0 を、入力エラーは -1 を返す関数 */
{
/* 3の倍数か? */
if(n%3==0){
return 1;
}else{
/* 3がつくか? */
int i;
char buff[sizeof(int)*2+2];
sprintf(buff, "%d", n);
for(i = 0; i < sizeof(int)*2+2; i++){
if(buff[i] == '3') return 1;
if(buff[i] == '\0') break;
}
}
return 0;
}