ちょっと脳トレ(DSi)の"倍数探し"。
なんか、FizzBuzzに似てる匂いがしてる。
他にも似たようなのってあるかな?w
[2012/06/17]追加。
書いてみた。
/*!
* @file main.c
* @brief
* @author ma2
* @date 2012/06/16
* $Revision: $ *
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main( int argc, char *argv[] )
{
int i = 0;
int n = 0;
int mul = 3;
int num = 7;
int shouted = 0;
int digits = 1; // 数字
int d = 0; // 見てる桁
int e = 0; // 桁を一行ずつ取り出す
srand( (unsigned)time( NULL ) );
n = (rand() % 7) + 1;
for( i = 1;i < 120;i += n){
//! 掛け声の初期化
shouted = 0;
//! 乗算(mulの段)
if( (i % mul) == 0 ){
printf( " mul!!(%d)", i );
shouted = 1;
}
//! 数字(numの数字がある)
digits = i;
e = digits;
for( d = 0;digits != 0;d++){
e %= 10;
if( e == num ){
printf( " num!!(%d)", i );
shouted = 2;
}
digits /= 10;
e = digits;
}
//! 乗算も数字も当てはまらなかった
if( shouted == 0 ){
printf( "%d", i );
}
printf( "\n" );
n = (rand() % 7) + 1;
}
// rewind( stdin );
getchar();
return 0;
}