求对C语言题目答案的中文解释

2025-03-22 22:57:23
推荐回答(2个)
回答1:

#include
main()    //程序是找到最小的由1~5五个数字构成的、能被7整除的五位数
{
int a,b,c,d,e;
for(a=1;a<=5;a++)    //穷举a1~5
for(b=1;b<=5;b++)    //穷举b1~5
if(a==b) continue;    //必须b!=a
else for(c=1;c<=5;c++)    //以下所有的else都可以省略,穷举c1~5
if(c==a || c==b) continue;//必须c!=a且c!=b
else for(d=1;d<=5;d++)   //穷举d1~5
if(d==a || d==b || d==c) continue;//必须d!=a且d!=b、d!=c
else {
e=15-a-b-c-d;        //e是1~5中未取过的那个数(a,b,c,d,e取遍了1~5)
if((a*10000+b*1000+c*100+d*10+e)%7==0)    //若五位数abcde能被7整除
{
printf("%d%d%d%d%d\n",a,b,c,d,e);    //就输出此数后立即退出程序
return 0;
}
}
}

回答2:

这道题就是看12345这5个数,能被7整除的排列组合,第一个输出的应该是12453,那些循环就是在排列这些数,判断就是不让重复。我如果讲的不清楚可追问。