校招季——编程题目(1-2)
来源:互联网 发布:怎么查淘宝账号权重 编辑:程序博客网 时间:2024/05/24 07:28
2013/08/12,秋季校招准备工作第一天。
1. 与K有关的数
题目:
输入正整数K与N,求出不大于N的与K有关的数的数目。与K有关的意思是:是K的非0整数倍或数字中包含K(如123中包含12和23等)。
解答:
先判断i能否被K整除,如果不能的话,用mask依次取i中长度为len(K)的一段与K对比。
int RelatedNumberCount(int K,int N){ if (N<=0 || K<=0 || N<K) return 0; int count = 1,i; for (i = K+1; i < N+1; ++i) if( (i%K == 0) || IsRelated(K,i)) ++count; returncount;}int IsRelated(int K,int N){ static int mask = 10; while (mask <= K) mask *= 10; for ( ; N >= K; N /= 10) if (N % mask == K) return 1; return0;}
2. 走台阶
题目:
有一条有N级台阶的楼梯,从下往上走时,可以选择一步一个或者两个或者三个台阶,一共有多少种走法。
解答:
思路:采用迭代的方法,用ways[1,2,3]来保存当前向前走1,2,3个台阶后的走法。
double WayCount(int n){ double ways[5] = {0.0, 1.0, 2.0, 4.0}; if(n <= 3) return ways[n]; int i; for (i = 4; i <= n; ++i) { ways[4] = ways[1] + ways[2] + ways[3]; ways[1] = ways[2]; ways[2] = ways[3]; ways[3] = ways[4]; } return ways[4];}
- 校招季——编程题目(1-2)
- 校招季——编程题目(3-5)
- 校招季——编程题目(6-7)
- 校招季——编程题目(8-9)
- 校招季——编程题目(10-11)
- 校招季——编程题目(12-13)
- 校招季——编程题目(73) 回文数
- 校招季——编程题目(14) 逆序数
- UVA——10139(数论)(挑战编程题目)
- 简单编程题目连载(四)——找零钱
- 简单编程题目连载(五)——找零钱
- 简单编程题目连载(六)——找零钱
- 校招季——编程题目(15、16) 约瑟夫问题 最大子矩阵和
- [Offer收割]编程练习赛6 题目1 : Playfair密码表 (密码学——模拟)
- 简单编程题目连载(十一)——0-1背包问题
- 字符串编程题题目解析(From leetcode)——1
- 笔试题目——编程题
- 华为2012编程大赛题目(2)
- Asp.net三层架构
- 关于移动Web性能的5个神话
- js中阻止时间冒泡的方法
- UVA10194
- 继承和组合
- 校招季——编程题目(1-2)
- [C++基础]C++笔试面试的题目类型
- IOS开发之----代码块的使用(二)
- 计算机开机启动过程原理详解
- hdu3466 Proud Merchants
- uva 311 Packets
- 为什么生成的core 文件大小为0字节
- hdu 2069
- 搭配行为--策略模式