首页 > 分享 > 填数游戏(??×???=????)

填数游戏(??×???=????)

填数游戏(??×???=????)

最新推荐文章于 2024-04-26 07:15:00 发布

GadyPu 于 2014-10-21 19:53:11 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

题目:1~9九个数字只能用一次填进九个空,使得 ? ?×? ? ?=? ? ? ?

首先说说我的思路吧。由题意可知由两位数X三位数=四位数。我们可以从1000~9999开始枚举

四位数,又因为四位数各位数字均不相等故可以从1234~9876开始枚举。

然后再从12~98开始枚举,利用整除的的条件判断,得出三位数,再判断各位数字是否相同。

判断所枚举的数的各位数字是否相同。可以用一个整型数组IsUsed[10]来表示。
具体实现如下。PS(前几天的那个代码写错了现在重新改写了⊙﹏⊙b汗)

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include <time.h>

int IsUsed[10];

int IsAppeared(int k, int n)

{

int i;

for (i = 0; i<k; i++)

    {

int v = n % 10;

        n /= 10;

if (IsUsed[v])

return 0;

else

            IsUsed[v] = 1;

    }

return 1;

}

void JudgeNum()

{

int i, j, flag, flag1, flag2;

    i = 1234;

while (i <= 9876)

    {

        flag = flag1 = flag2 = 1;

for (j = 12; j <= 98; j++)

        {

if (i%j == 0)

            {

memset(IsUsed, 0, sizeof(IsUsed));

                flag = IsAppeared(4, i);

                flag1 = IsAppeared(2, j);

                flag2 = IsAppeared(3, i / j);

if (flag && flag1 && flag2 && !IsUsed[0])

                {

printf("%d*%d=%dn", j, i / j, i);

                }

            }

        }

        i++;

    }

}

int main()

{

int a = clock();

JudgeNum();

int b = clock();

printf("%dmsn", b - a);

getchar();

return 0;

}


写的很烂,请见谅。。。

相关知识

花花数字填色游戏下载
文字玩出花微信小程序游戏开发
苹果ios付费游戏免费下载iphone账号id花夏数娱
和花有关的互动游戏有哪些2022 可以和花互动的游戏分享
什么的花丛填词语
什么花丛填词语
有没有装扮花园的游戏?好玩的花园经营类游戏下载
棵数= 间隔数.ppt
什么的花朵填形状填什么
大湾区花展来了,3.23笔架山莲花山徒步赏花,一起挑战拼图寻宝游戏

网址: 填数游戏(??×???=????) https://m.huajiangbk.com/newsview1101589.html

所属分类:花卉
上一篇: Opencv3笔记4——数据结构
下一篇: 让梦想开花歌词 李志高 让梦想开