永发信息网

!~~[有一个九位数,它由1到9这9个数组成,每个数字刚好出现一次.这个九位数前N位能被N整除]

答案:4  悬赏:40  手机版
解决时间 2021-02-25 07:58
C 或 C++ 语言
求个算法 用C 或 C++ 语言 编的
最佳答案
因为是九位数,没有重复数字,前N位能被N整除
所以偶数位上一定是偶数,奇数位上一定是奇数
5 一定是在第五位上

简单循环遍历

#include <stdio.h>

int main(void)
{
long i[9];
long j, n;

i[4] = 5;
for (i[0] = 1; i[0] < 10; i[0] += 2)
{
for (i[1] = 2; i[1] < 9; i[1] += 2)
{
for (i[2] = 1; i[2] < 10; i[2] += 2)
{
if (i[2] == i[0])
continue;
for (i[3] = 2; i[3] < 9; i[3] += 2)
{
if (i[3] == i[1])
continue;
for (i[5] = 2; i[5] < 9; i[5] += 2)
{
if (i[5] == i[3] || i[5] == i[1])
continue;
for (i[6] = 1; i[6] < 10; i[6] += 2)
{
if (i[6] == i[4] || i[6] == i[2] || i[6] == i[0])
continue;
for (i[7] = 2; i[7] < 9; i[7] += 2)
{
if (i[7] == i[5] || i[7] == i[3] || i[7] == i[1])
continue;
for (i[8] = 1; i[8] < 10; i[8] += 2)
{
if (i[8] == i[6] || i[8] == i[4] || i[8] == i[2] || i[8] == i[0])
continue;

n = 0;
for (j = 0; j < 9; j++)
{
n = n * 10 + i[j];
if (n % (j + 1) != 0)
break;
}
if (j == 9)
printf("%ld\n", n);
}
}
}
}
}
}
}
}
}

就一个数符合

381654729
全部回答
他们的都过于复杂,,,我有简单办法,,你可以找我聊,,,
随便,只要第5位是5
位数为9,所以枚举复杂度为O(9!) 完全可以接受 加上剪枝,0MS出解 参考代码如下 使用了dfs来实现枚举 #include<iostream> using namespace std; typedef long long llong; bool hash[10];//标记是否使用过... void dfs(int dep,llong val) { int i; llong tmp; if(dep==9)//9位了 { cout<<val<<endl; return; } for(i=1;i<=9;++i) { if(!hash[i]) { hash[i]=true; tmp=val*10+i; if(tmp%(dep+1)==0) dfs(dep+1,tmp); hash[i]=false; } } } int main() { dfs(0,0); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在某网站组织的成人标准网络票选活动中,“责
小孩子如何健脾胃?
锐志断电后怠速高速
下载动漫图片的软件
黄科苑东门地址在什么地方,想过去办事
想练日语听力 看什么日剧或者动漫比较好呢
永标工业园地址在什么地方,想过去办事
为测定某石灰石样品中碳酸钙的含量,化学兴趣
机械表的注意事项
做打荷学厨师好::还是学西点好.真的.我真不知
芜湖万正机制造械技术有限公司地址在哪,我要
微卡和nono卡除了大小还有什么区别吗
1米长l00毫米直径的钛合金有多重
透了三十年了达不到高潮,逼发痒的利害就是难
读下图所示地理区域,回答下列问题。 (1)该
推荐资讯
裕景苑社区卫生服务中沙第一村卫生室在什么地
秀洲高新装备创业中心我想知道这个在什么地方
金钱豹在什么地方啊,我要过去处理事情
在草缸里养黄金螺会影响水草吗
OPPOr803手机存储空间不足怎么解决
石围塘地址在什么地方,想过去办事
酷派大神f2亏酷管家图标点三次怎么没反应
西普大陆嘟比嘟比能进化成光明兽吗
福特蒙迪欧2万公里了保养多少钱
柯南喜欢小兰吗
oppofind5在官网上下的colorOS刷机手机进入fa
思念故乡冬天的诗词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?