一个整数的每位数字都是1,至少多少位才能使这个数被1987整除呢?
来源:百度知道 编辑:UC知道 时间:2024/06/11 08:29:13
告诉我用PASCAL编程,要怎么想?思路?
1. 设i=11111
2. i除以1987,如果余数为0,则表示成功,去到第4步。
3. i=i*10+1,回到第2步。
4. 返i回。
这样子做绝对是超时掉了,算不出来的
1. 设i=11111
2. i除以1987,如果余数为0,则表示成功,去到第4步。
3. i=i*10+1,回到第2步。
4. 返i回。
这样子做绝对是超时掉了,算不出来的
我觉得得用高精度,用普通类型一般存不下来,再用这种方法:
1. 设i=11111
2. i除以1987,如果余数为0,则表示成功,去到第4步。
3. i=i*10+1,回到第2步。
4. 返i回
我不会这个PASCAL语言,所以只能给你思路:
按照除法竖式的做法,依次算出每一步的商,和减完之后的结果。
使用两个变量:这一位的商a,和这一次减完的结果b。
另外来个用于数数的变量i
首先赋值i=4,b=1111
然后开始循环:
{
i自加1;
b=b×10+1;//这一步相当于把原来的b末尾添一个1
找到一个0~9之间的a,使得b-a×1987大于等于0小于1987 ; //即除法中的试商过程。编程的话,这步可以用循环来跑
b=b-a ;//相当于除法竖式中减法的那一步
}
当b=0时循环结束。看当时的 i 是多少,就共有多少个1。
附件的excle表格是这个过程的模拟:A列相当于上面的a,B列相当于上面的b
这个附件中的A列数值,是我一位一位手动估算得到的:
结果的商有328位,对应的被除数有332位。
1. 设i=11111
2. i除以1987,如果余数为0,则表示成功,去到第4步。
3. i=i*10+1,回到第2步。
4. 返i回。
用浪潮天梭
一个整数的每位数字都是1,至少多少位才能使这个数被1987整除呢?
一个小于200的自然数,它的每位数字都是奇数,而且它是两个两位数的乘积.这个数是几
一个1994位的整数,各个数位上的数字都是3。它除以13。
PASCAL中输出1 999中能被3整除,且至少有一位数字是5的所有整数????????
用c++编出1~599中能被3整除,且至少有一位数字为5的所有整数
身份证每位数字代表的含义?
求这样一个 n 位数( >0 ),它等于其每位数字的阶乘之和。
求四位数的奇数中 每位数字之和都是15的倍数的平均数,保留一位小数
每位歌手都是因为哪首歌红的?
求从1到500的整数中..至少能被3和5中的一个整数整除的数个数为(___)