利用数字0,1,2,3,4,……8,9,(每个数字可以重复)构造一个6位数.满足要求:前k位能被k整

发布时间:2021-03-07 19:20:24

利用数字0,1,2,3,4,……8,9,(每个数字可以重复)构造一个6位数.满足要求:前k位能被k整除(k=1,2,……6).这样这样的六位数最小是?最大是?

网友回答

设这个六位数最小是abcdef.
它需要满足要求:前k位要被k整除,根据这个条件,我们来讨论最大和最小.
最小:1.a=1 【□被1整除,□可以是除0以外的任意一位数,□最小是1】
2.b=0 【1□被2整除,□必须是一位数偶数,□最小是0】
3.c=2 【10□被3整除,□被3除2,□最小是2】
4.d=0 【102□被4整除,□被4整除,□最小是0】
5.e=0 【1020□被5整除,□被5整除,□最小是0】
6.f=0 【10200□被6整除,□被6整除,□最小是0】
所以这个最小的六位数是102000.
同理讨论,也可得出最大的六位数是987654.
======以下答案可供参考======
供参考答案1:
void fun()
{long min=1,max=9,t;
int i,j;
for(i=2;i{ for(t=min,j=0;j { t=t*10+j;
if(t%i==0)
break;
else t=min;
} min=t;
for(t=max,j=9;j>=0;--j)
{ t=t*10+j;
if(t%i==0)
break;
else t=max;
} max=t;
}printf(min=%ld,max=%ld\n,min,max);
}
以上问题属网友观点,不代表本站立场,仅供参考!