由1-5,五个数字组成的五位数,且不重复。求此类五位数能被7整除,并求其中最小五位数
#include<stdio.h>main()
{
int a,b,c,d,e,i,n=0,g,max;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
for(d=1;d<=5;d++)
{
for(e=1;e<=5;e++)
{
i=a*10000+b*1000+c*100+d*10+e;
if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e||i%7==0 )
continue;
printf("%d\n",i);
s=n;
g=i;
n++;
}
}
}
}
}
max=g;
for(i=1;i<=s;i++)
{
if(g>max)
max=g;
}
printf("%d",max);
}
#include<stdio.h>
int main(void)
{
int d = {1 , 2 , 3 , 4 , 5} , c , i , j , k , n , t , min ;
for(k = n = 0 ; k < 5 ; k ++) n = n * 10 + d ;
printf("%d\n" , n) ;
for(c = 1 , i = 0 ; i < 4 ; i ++) {
for(j = i + 1 ; j && d > d ; j --) {
t = d ;
d = d ;
d = t ;
for(k = n = 0 ; k < 5 ; k ++) n = n * 10 + d;
printf("%d\n" , n) ;
c ++ ;
}
}
}
编译、运行实况:
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
12345
21345
23145
32145
32415
34215
43215
43251
43521
45321
54321
D:\00.Excise\C>
可是,这 11 个 5 位数没有 1 个可以被 7 整除! jackz007 发表于 2021-11-22 22:42
编译、运行实况:
可是,这 11 个 5 位数没有 1 个可以被 7 整除!
脑瓜子嗡嗡的,大佬能否解决下,如何把按照程序求出的许多数,赋值进一个数组,并编写求最小值的这一步骤,与上面求被7整除的数,合并起来,我主要后面一步,不行,会出错,前面一步求被七整除的数倒是懂。{:5_109:} 小黄练编程 发表于 2021-11-22 23:25
脑瓜子嗡嗡的,大佬能否解决下,如何把按照程序求出的许多数,赋值进一个数组,并编写求最小值的这一步骤 ...
问题是你没有把要求谈清楚,不知道应该干什么,比如,这 11 个互不相同的 5 位数已经有了,那个最小指的是什么?能被 7 整除又指的是什么,把话说完整。 jackz007 发表于 2021-11-22 23:30
问题是你没有把要求谈清楚,不知道应该干什么,比如,这 11 个互不相同的 5 位数已经有了,那 ...
能被7整除指:求出来的这些由1-5,五个数字组成的不重复的五位数,中,能被7整除的那部分,最小值指:那部分中最小值。 小黄练编程 发表于 2021-11-22 23:42
能被7整除指:求出来的这些由1-5,五个数字组成的不重复的五位数,中,能被7整除的那部分,最小值指:那 ...
我在你的其它帖子里已经告诉过你了,总共可以组合出 11 个 5 位数,但是,这些数里面没有一个可以被 7 整除,不信的话,你可以列举出来任何一个看看。 jackz007 发表于 2021-11-22 23:47
我在你的其它帖子里已经告诉过你了,总共可以组合出 11 个 5 位数,但是,这些数里面没有一个可 ...
意思是没有能被7整除的无重复的五位数?
我这题目没错啊!
小黄练编程 发表于 2021-11-22 23:52
意思是没有能被7整除的无重复的五位数?
我这题目没错啊!
11 个 5 位数就在 2 楼,你试试看,哪一个能被 7 整除? jackz007 发表于 2021-11-22 23:55
11 个 5 位数就在 2 楼,你试试看,哪一个能被 7 整除?
#include<stdio.h>
main()
{
int a,b,c,d,e,i;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
for(d=1;d<=5;d++)
{
for(e=1;e<=5;e++)
{
i=a*10000+b*1000+c*100+d*10+e;
if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e||i%7==0 )
continue;
printf("%d\n",i);
}
}
}
}
}
}
咋我这这整出来的无重复五位数多了好多。脑瓜子翁的 jackz007 发表于 2021-11-22 23:55
11 个 5 位数就在 2 楼,你试试看,哪一个能被 7 整除?
#include<stdio.h>
main()
{
int a,b,c,d,e,i;
for(a=1;a<=5;a++)
{
for(b=1;b<=5;b++)
{
for(c=1;c<=5;c++)
{
for(d=1;d<=5;d++)
{
for(e=1;e<=5;e++)
{
i=a*10000+b*1000+c*100+d*10+e;
if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e||i%7!=0 )
continue;
printf("%d\n",i);
}
}
}
}
}
}
之前除了问题{:5_92:},我把i%7==0改成i%7==0了,这求出十五位数, 例子12453能被7整除。 jackz007 发表于 2021-11-22 23:55
11 个 5 位数就在 2 楼,你试试看,哪一个能被 7 整除?
大哥晚安哈{:5_92:}{:5_92:} 本帖最后由 jackz007 于 2021-11-23 00:14 编辑
小黄练编程 发表于 2021-11-22 23:58
#include
main()
{
#include<stdio.h>
int main(void)
{
int a , b , c , d , e , i , min = 0 ;
for(a = 1 ; a <= 5 ; a ++) {
for(b = 1 ; b <= 5 ; b ++) {
if(b != a) {
for(c = 1 ; c <= 5 ; c ++) {
if(c != a && c != b) {
for(d = 1 ; d <= 5 ; d ++) {
if(d != a && d != b && d != c) {
for(e = 1 ; e <= 5 ; e ++) {
if(e != a && e != b && e != c && e != d) {
i = a * 10000 + b * 1000 + c * 100 + d * 10 + e ;
if(! (i % 7)) {
if(min < 10000) min = i ;
else if(i < min) min = i ;
}
printf("%d\n" , i) ;
}
}
}
}
}
}
}
}
}
printf("min = %d\n" , min) ;
}
编译、运行实况:
D:\00.Excise\C>g++ -o x x.c
D:\00.Excise\C>x
12345
12354
12435
12453
12534
12543
13245
13254
13425
13452
13524
13542
14235
14253
14325
14352
14523
14532
15234
15243
15324
15342
15423
15432
21345
21354
21435
21453
21534
21543
23145
23154
23415
23451
23514
23541
24135
24153
24315
24351
24513
24531
25134
25143
25314
25341
25413
25431
31245
31254
31425
31452
31524
31542
32145
32154
32415
32451
32514
32541
34125
34152
34215
34251
34512
34521
35124
35142
35214
35241
35412
35421
41235
41253
41325
41352
41523
41532
42135
42153
42315
42351
42513
42531
43125
43152
43215
43251
43512
43521
45123
45132
45213
45231
45312
45321
51234
51243
51324
51342
51423
51432
52134
52143
52314
52341
52413
52431
53124
53142
53214
53241
53412
53421
54123
54132
54213
54231
54312
54321
min = 12453
D:\00.Excise\C>
页:
[1]