プログラムの実行結果は以下の通り。
500円玉 3枚 100円玉 2枚 50円玉 5枚 10円玉 4枚 5円玉 3枚 1円玉 1枚
プログラムのソースは以下の通り。
#include "puzutl.h" int main( int argc, cstring argv[]) { int s500 = 0, s100 = 0, s50 = 0, s10 = 0, s5 = 0, s1 = 0; for( int i500=1; i500< 13; i500++) { for( int i100=2; i100< 3; i100++) { for( int i50=1; i50< 13; i50++) { for( int i10=1; i10< 13; i10++) { for( int i5=1; i5< 13; i5++) { for( int i1=1; i1< 13; i1++) { if( i500+i100+i50+i10+i5+i1 == 18 && i500*500+i100*100+i50*50+i10*10+i5*5+i1*1 == 2006) { ps( "500円玉 %d枚\n", i500); ps( "100円玉 %d枚\n", i100); ps( " 50円玉 %d枚\n", i50); ps( " 10円玉 %d枚\n", i10); ps( " 5円玉 %d枚\n", i5); ps( " 1円玉 %d枚\n", i1); } } } } } } } return 0; }