VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
91_avatar_small 楼主: malliarage699

[交流] 输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..

  [复制链接]
54_avatar_middle
在线会员 发表于 2012-9-1 23:28:29 | 显示全部楼层
这种题的解法:
1、如楼主所说,利用&&短路特性。
2、函数查找表:
  1. typedef int (*Func)(int n);
  2. int OutputZero(int n)
  3. {
  4.         return 0;
  5. }

  6. int OutputN(int n)
  7. {
  8.         Func sum[2] = {OutputZero, OutputN};
  9.         sum[n > 1](n - 1);
  10.         cout<<n<<"  ";
  11.         return 0;
  12. }
复制代码
3、利用构造函数:
  1. class OutputClass
  2. {
  3. public:
  4.         OutputClass()
  5.         {
  6.                 n++;
  7.                 cout<<n<<"  ";
  8.         }
  9. private:
  10.         static int n;
  11. };
复制代码
主函数:
  1. int _tmain(int argc, _TCHAR* argv[])
  2. {
  3.         OutputN(10);
  4.         cout<<endl;
  5.         OutputClass *p = new OutputClass[10];
  6.         delete [] p;
  7.         return 0;
  8. }
复制代码
91_avatar_middle
ico_lz  楼主| 发表于 2012-9-3 09:07:20 | 显示全部楼层
venow 发表于 2012-9-1 23:28 输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..
这种题的解法:
1、如楼主所说,利用&&短路特性。
2、函数查找表:3、利用构造函数:主函数:

也可以利用模板类实现,方法与类的构造函数的方法相似。。
以上方法中,利用函数指针来实现的话。。是个好办法。。
但是用类的构造函数和静态成员变量来实现。。不是一个好法子来的。。
要是题目让你输出1-1000万。。就要创建一千万个对象了。。这种开销。。。太什么了。。
84_avatar_middle
在线会员 发表于 2012-9-10 15:40:26 | 显示全部楼层
看看..输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..
80_avatar_middle
在线会员 发表于 2012-9-16 14:07:21 | 显示全部楼层
asfdsfdsfsd
41_avatar_middle
在线会员 发表于 2012-9-18 20:56:03 | 显示全部楼层
。。。。。
90_avatar_middle
在线会员 发表于 2012-9-18 22:55:22 | 显示全部楼层
输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..好高深啊,来学习下
70_avatar_middle
在线会员 发表于 2012-9-19 20:30:55 | 显示全部楼层
无聊过来看看
57_avatar_middle
在线会员 发表于 2012-9-28 20:22:42 | 显示全部楼层
楼主很棒!
47_avatar_middle
在线会员 发表于 2012-9-28 22:44:02 | 显示全部楼层
看看喽,学习下
29_avatar_middle
在线会员 发表于 2012-9-28 23:40:16 | 显示全部楼层
用递归?
83_avatar_middle
在线会员 发表于 2012-10-6 19:18:48 | 显示全部楼层
递归可以实现
66_avatar_middle
在线会员 发表于 2012-10-8 09:51:09 | 显示全部楼层
先看看再说
44_avatar_middle
online_vip 发表于 2012-12-3 13:29:47 | 显示全部楼层
什么意思?输出1-n 个数字  还是   》?
58_avatar_middle
在线会员 发表于 2013-1-5 11:32:38 | 显示全部楼层
输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..
91_avatar_middle
ico_lz  楼主| 发表于 2013-1-12 17:51:58 | 显示全部楼层
复活丨小白 发表于 2013-1-12 11:47 输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..
&& 或者 ||实现逻辑短路   是什么?

这个内容你直接百度应该就有了吖。。

例如: int i=3;
          i>5 && (i++) < 10;

这样的语句, i>5为假,与逻辑运算,只要有一个为假就是假。。
所以右边就不用运算了。。。
这个时候。。右边就被短路了。。
29_avatar_middle
在线会员 发表于 2013-1-19 22:15:42 | 显示全部楼层
SB 才做这样的题目
91_avatar_middle
ico_lz  楼主| 发表于 2013-1-21 09:06:42 | 显示全部楼层
zhutousha 发表于 2013-1-19 22:15 输出1-n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及..
SB 才做这样的题目

好好活着。。。
不容易吖。。
79_avatar_middle
在线会员 发表于 2013-2-3 08:56:08 | 显示全部楼层
顶一下,看看答案
99_avatar_middle
在线会员 发表于 2013-2-19 22:02:22 | 显示全部楼层
看看,学习学习
44_avatar_middle
在线会员 发表于 2013-2-20 13:19:48 | 显示全部楼层
递归。。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-6-21 08:37

Powered by Discuz! X3.4

© 2009-2019 cctry.com

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