本题纯属娱乐呵,大家来玩一下。
有3个相同的骰子,扔出的和值当然可能是3,4,5,...18
要求列出所有和值的骰子情况,打印出的格式类似如下即可:
3:1 1 1
4:1 1 2
5:1 1 3 ,1 2 2
.
.
.
18: 6 6 6
看看谁有最简单的代码打印出来啊
------解决方案--------------------
三位6进制数,忽略位顺序,各位和相同的为一组。最后将0~5对应1~6,和加3 ?
------解决方案--------------------
#include <stdio.h>
void output( int sum, char * buffer, int level, int max )
{
if( sum >= level && sum <= level * max )
{
if ( level == 1 )
{
* --buffer = "0123456789"[sum];
* --buffer = ' ';
printf("%s", buffer);
}
else
{
int i = sum - level + 1;
if( i > max )
{
i = max;
}
for(; i > 0; -- i)
{
char * my_buffer = buffer;
* -- my_buffer = "0123456789"[i];
* -- my_buffer = ',';