找回密码
 欢迎注册
查看: 39506|回复: 15

[原创] 上班路上想到的有意思的问题

[复制链接]
发表于 2010-9-24 08:09:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
有三位以上的十进制数字,数位不含有0。 假设满足,任意千位以上数字均是其后 两位数字的和,请问 这种数字一共多少个?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-24 08:11:01 | 显示全部楼层
比如 918 9 = 1 + 8 8532 8 = 5 + 3 5 = 3 + 2
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-24 08:16:59 | 显示全部楼层
斐波那契吗? 试一下: ----------------- 853211 53211 3211 211 ------------------ 312 4312 74312 ------------------ 413 5413 95413 -------------------- 514 6514 --------------- 615 7615 ------------- 716 8716 --------------- 817 9817 ---------------- 918 ------------ 321 5321 85321 ------------- 422 6422 ------------- 523 7523 ------------- 624 8624 ----------- 725 9725 -------------- 826 927 --------------- 431 7431 --------------- 532 8532 ------------- 633 9633 ---------------- 734 835 936 ------------------ 541 9541 ---------------- 642 743 844 945 --------------- 651 752 853 954 --------------- 761 862 963 --------------- 871 972 -------------- 981
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-24 08:18:25 | 显示全部楼层
穷举57个。没细验证,也不知有无遗漏下的。吃饭饭去鸟。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-25 12:45:45 | 显示全部楼层
SQL> with t1 as(select level l from dual connect by level <=9) 2 ,t(lv,s) as(select * from(select 2 ,cast(to_char(level,'fm99') as varchar(10)) s from dual connect by level<=99)where substr(s,1,1)+sub str(s,2,1)<=9 and mod(s,10)<>0 3 union all 4 select lv+1 ,l||s from t,t1 where l=substr(s,1,1)+substr(s,2,1)and lv<9) 5 select lv,s from t where lv>=3 order by 1,2; LV S ------ -------------------- 3 211 3 312 3 321 3 413 3 422 3 431 3 514 3 523 3 532 3 541 3 615 3 624 3 633 3 642 3 651 3 716 3 725 3 734 3 743 3 752 3 761 3 817 3 826 3 835 3 844 3 853 3 862 3 871 3 918 3 927 3 936 3 945 3 954 3 963 3 972 3 981 4 3211 4 4312 4 5321 4 5413 4 6422 4 6514 4 7431 4 7523 4 7615 4 8532 4 8624 4 8716 4 9541 4 9633 4 9725 4 9817 5 53211 5 74312 5 85321 5 95413 6 853211 已选择57行。 SQL>
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-25 20:14:48 | 显示全部楼层
95431 85312 ????? .....
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-26 01:22:16 | 显示全部楼层
楼上这两个数字,完全不行啊!! 有疑问吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-9-26 08:58:48 | 显示全部楼层
呃,那我错了 我没注意第四位的约束
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-26 20:19:49 | 显示全部楼层
本帖最后由 chyanog 于 2010-9-26 23:50 编辑 我也找到57个,本来用C写的,但类型转化老让我纠结,便用Java了,才发现似乎在咱们群里没有见过java代码:
  1. public class NewClass1 {
  2. public static void main(String[] args) {
  3. long start = System.nanoTime();
  4. int count = 0;
  5. for (int i = 1; i < 10; i++) {
  6. for (int j = 1; j < 10; j++) {
  7. int a, a1 = i, a2 = j, t = 10 * a1 + a2;
  8. while (a1 + a2 < 10) {
  9. a = a1 + a2;
  10. a1 = a2;
  11. a2 = a;
  12. t = (int) (Math.pow(10.0, Math.floor(Math.log10(t)) + 1.0) * a + t);
  13. System.out.print(t + (++count % 10 == 0 ? "\n" : " "));
  14. }
  15. }
  16. }
  17. System.out.println("\ncount : " + count + "\nTiming: " + (System.nanoTime() - start) / Math.pow(10, 9) + "s");
  18. }
  19. }
复制代码
211 3211 53211 853211 312 5312 85312 413 7413 514 9514 615 716 817 918 321 4321 74321 422 6422 523 8523 624 725 826 927 431 5431 95431 532 7532 633 9633 734 835 936 541 6541 642 8642 743 844 945 651 7651 752 9752 853 954 761 8761 862 963 871 9871 972 981 count : 57 Timing: 0.003259012s
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-9-26 20:31:05 | 显示全部楼层
8# 无心人 不知道譬如8532119的数算不算呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 22:03 , Processed in 0.025482 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表