关于SelfNumbers问题时间复杂度问题解决方案
2010-11-30 16:11
344 查看
10000以内的所有数,每位上只可能是0~9四位数,用四层循环便可解决;
注意:申请数组时一定要注意申请的大小 int s[10036] = {1};
之所以会多出来个36,是因为,当循环进行的最后时,是9999+9+9+9+9=10035;
若定义数组时小于10036,便会发生错误!
思路:定义一个数组,使其初值全为1;当四层循环一次的时候,使 s[ 1001*i+101*j+11*m+2*n] = 0;
最后在输出的时候只需要 if(s [ i ]) printf("%d",s[i]);便可以!
这样下来时间复杂度明显要比两层循环(每层1000次)要小得多!
注意:申请数组时一定要注意申请的大小 int s[10036] = {1};
之所以会多出来个36,是因为,当循环进行的最后时,是9999+9+9+9+9=10035;
若定义数组时小于10036,便会发生错误!
思路:定义一个数组,使其初值全为1;当四层循环一次的时候,使 s[ 1001*i+101*j+11*m+2*n] = 0;
最后在输出的时候只需要 if(s [ i ]) printf("%d",s[i]);便可以!
这样下来时间复杂度明显要比两层循环(每层1000次)要小得多!
相关文章推荐
- 关于VMWARE ESXi5.0 虚拟机时间不同步问题解决方案探讨
- 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案 标签: spring 201
- 关于更新windows Service Pack 3 更新后系统登录出现“一个问题阻止Windows正确检查机器的许可证。错误代码 0x80070002”问题解决方案
- 关于设置选择条颜色多个ListView之间切换问题解决方案
- 关于spring boot无法自动注入bean问题解决方案
- 关于WM_NOTIFY与消息反射————耗费我两天时间才解决的问题
- 解决一个mysql关于按文章以及评论的最早时间的排序问题
- 关于wireshark的Header checksum出问题解决方案
- Pentaho PDI 数据导入关于时间格式及重复数据处理这2个问题的解决方法
- .NET:关于byte数组在用StreamWriter文件写出后出现多余字符的解决方法及VS方案文件图标显示问题
- 关于shtml页面include问题解决方案
- 关于Visual Studio 2008及相关问题解决方案
- 关于VirtualBox与UTC导致的虚拟机时间差8小时的问题解决
- 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案
- 关于Ubuntu的Unable to locate package无法更新源问题解决方案
- 关于AFNetWorking 2.5.4之后版本编译报错问题解决方案
- 关于虚拟机: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled问题解决方案
- 关于 App.config文件出错,配置系统未能初始化。 问题解决方案
- 关于eclipse当中的版本兼容问题(一点小问题的解决也需要大量的时间)
- 关于数据库使用numeric(18,2) ,java后台使用double会出现金额显示问题解决方案。