首页 > 试题广场 >

(选做)在一种室内互动游戏中,魔术师要每位观众心里想一个3位

[问答题]

(选做)在一种室内互动游戏中,魔术师要每位观众心里想一个3位数abcab、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acbbacbcacabcba5个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里

想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的443,而观众乙说他计算的和值是198,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。

#include<stdio.h>
void Fact(int num)
{
    for(int i=1;i<=9;i++)
    {
        for(int j=0;j<=9;j++)
        {
            for(int k=0;k<=9;k++)
            {
                if(i*122+j*212+k*221==num)
                {
                    printf("This number is %d.",i*100+j*10+k);
                    return;
                }
            }
        }
    }
    printf("This sum is error!");
    return;
}
int main()
{
    int num;
    printf("Please input the sum:");
    scanf("%d",&num);
    Fact(num);
    return 0;
}
编辑于 2019-09-12 18:41:31 回复(0)
更多回答
#include <iostream>
using namespace std;
int inf=99999;
int answer[3]={inf};
int sum=0;
void dfs(int step)
{
    if(step==4)
    {
       //带判结束条件
        if(answer[0]*122+answer[1]*212+answer[2]*221==sum)
           {
               cout<<"this is the answer: "<<answer[0]*100+answer[1]*10+answer[2]<<endl;
               return ;
           }
           else
            {
                return ;
            }
    }
    for(int i=0;i<10;++i)
    {
        answer[step-1]=i;
        dfs(step+1);
    }
}
int main()
{
    cout<<"please give your number : "<<endl;
    cin>>sum;
    for(int i=1;i<10;++i)
    {
        answer[0]=i;
        dfs(2); //在第一个为i的基础上继续后续的选择
    }
    return 0;
}
发表于 2019-04-30 22:08:28 回复(3)
#include<stdio.h>
int Fun(int x);
void main()
{
    int sum,x;
    printf("Input a sum:");
    scanf("%d",&sum);
    x=Fun(sum);
    if(x)
    printf("The number is %d\n",x);
    else
    printf("The sum you calculated is wrong!\n");
}
int Fun(int x)
{
    int a,b,c,y;
    for(a=1;a<10;a++)
    {
        for(b=0;b<10;b++)
        {
            for(c=0;c<10;c++)
            {
                if(x==122*a+212*b+221*c)
                {
                    y=100*a+10*b+c;
                    return y;
                }
            }
        }
    }
    return 0;
}
发表于 2019-04-27 20:59:13 回复(0)