本文主要是介绍编程解决智力题之砝码分配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题如下:
若有四个砝码称出1~30g间所有整数克,则四个砝码各重多少?
结果是 (1)+(2)+(7)+(20)。
程序如下:
#include <stdio.h>
bool can_get(const int sum, const int a, const int b,const int c,const int d, bool verbose= false);
int set_value(const int val, const int status);
int main()
{
int can_get_acct = 0;
for(int ia=1;ia<30;ia++)
for(int ib=1;ib<30;ib++)
for(int ic=1;ic<30;ic++)
for(int id=1;id<30;id++)
{
can_get_acct = 0;
for(int sum=1;sum<31;sum++)
{
if (can_get(sum,ia,ib,ic,id))
can_get_acct++;
}
if(can_get_acct==30)
{
fprintf(stderr,"
这篇关于编程解决智力题之砝码分配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!