| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3555 人关注过本帖
标题:穷举法的一个实例
取消只看楼主 加入收藏
jianda999
Rank: 2
等 级:论坛游民
帖 子:8
专家分:33
注 册:2009-5-25
收藏
 问题点数:0 回复次数:0 
穷举法的一个实例
/*用1,2,3,...,9组成三个三位数abc,def和ghi,每个数字恰好出现一次,
  要求abc:def:ghi=1:2:3。按照"abc  def  ghi”的格式输出所有解,
  每行一个解*/
 
#include <stdio.h>
void main(void) {
    int i,j,k,d[10]; /*数组d用来存储0-9每个数字的出现次数,为了简化程序对0的出现次数依然进行统计*/
    for (i=123;i<=329;i++) { /*循环变量i穷举abc的合法取值*/
        k=1;
        for (j=0;j<=9;j++) d[j]=0; /*每次穷举验证前先初始化数组d*/
        while (k<=3) /*k取值范围1-3,依次求出k*i的各位数字出现次数*/
        {
            d[i*k%10]++;
            d[i*k/10%10]++;
            d[i*k/100]++;
            k++;
        }
        for (j=1;j<=9;j++) if (d[j]!=1) break; /*验证1-9每个数字是否都只出现一次*/
        if (j==10) printf("%6d%6d%6d\n",i,i*2,i*3);
    }
}
搜索更多相关主题的帖子: include 统计 
2015-05-26 21:10
快速回复:穷举法的一个实例
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023723 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved