/*! @file 9times_test.cpp
@brief 9を掛けた数字の各桁を合計すると必ず9の倍数になる法則の確認.
@par 著作権
Copyright(c)2012-2013 0xef All rights reserved.
@author 0xef
@date Ver 1.00 Written by 0xef
@Last Change: 19-Jun-2013.
*/
typedef unsigned int u32;
u32 sum_digits( u32 val )
{
u32 ret=0;
char buffer[64]={};
sprintf( buffer, "%u", val );
for( u32 i=0;i<strlen(buffer);++i ){ ret += (buffer[i]-'0'); }
return ret;
}
bool isDiv9( u32 val ) { return ( val % 9 == 0 ); }
int main()
{
//const u32 start = 1;
//const u32 loop = 1000;
const u32 start = 457121386;
const u32 loop = 1000;
for( u32 i=start;i<start+loop;++i )
{
const u32 val = i * 9;
const u32 s = sum_digits( val );
std::cout << i << " * 9 = " << val << " の各桁の合計は" << s << "で 9で割り切れ" << (isDiv9(val)?"る":"ない") << std::endl;
}
}