【oj每周推荐】不用循环与递归,指定一个数j,找出一段连续整数中j的倍数

我姓区不姓区 2009-06-01 11:28:40
参考帖见不用循环~如何输出1~100?

输入:指定数j,一段连续整数的起始min与结束max
输出:找到min与max中的j的倍数并输出。
样例:如输入j=3,min=1,max=10,则找出1到10中3的倍数,即3,6,9
要求:不能用循环迭代语句(包括for,foreach,while,do while),也不能用递归函数。

请大家发挥自己的聪明才智
...全文
398 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2009-06-01
  • 打赏
  • 举报
回复
够无聊...

Console.WriteLine(3);
Console.WriteLine(6);
Console.WriteLine(9);
.....

除此之外都脱不了循环或递归,钻自然语言空子是没有意义的...
dongjh411526 2009-06-01
  • 打赏
  • 举报
回复
看大家咋弄吧,学习一下!
水如烟 2009-06-01
  • 打赏
  • 举报
回复
循环就是重复做事,管它是Goto还是Next

陌上花花 2009-06-01
  • 打赏
  • 举报
回复
学习,帮顶了
bbqqqbq 2009-06-01
  • 打赏
  • 举报
回复
LZ好无聊啊。。。
没事找抽型
Myth_NiuNiu 2009-06-01
  • 打赏
  • 举报
回复
我晕,那拿数一个一个除好了!
Error_Code 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ojlovecd 的回复:]
引用 10 楼 Error_Code 的回复:
goto不算循环嘛  谁告诉我goto算不算循环?  如果goto不算循环那什么才是循环?

goto不算循环,它将程序控制直接传递给标记语句
相反,很多情况下goto 语句还用于跳出深嵌套循环。


另外,我这个方法是钻了“递归”的空子,递归是指调用自身,所以严格来说我这个不算递归
2楼的说话不要那么冲,你这个“sb”我暂时当你是在说StringBuilder好了,你可以对我有意见,但请文明用语。
[/Quote]
哦了 窃书不算偷
yangbinKEN 2009-06-01
  • 打赏
  • 举报
回复
来看看 帮顶
shadowing_fly 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 foryouwife 的回复:]
static void Main(string[] args)
{
int j = int.Parse(Console.ReadLine());
Console.WriteLine("{x|1 <x <100且 x是 "+j.ToString()+" 的倍数,x是正整数}");
Console.ReadLine();
}
谁敢说我的有循环.谁敢说我的答案错误?
[/Quote]

你是人才....小弟膜拜
我姓区不姓区 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 Error_Code 的回复:]
goto不算循环嘛  谁告诉我goto算不算循环?  如果goto不算循环那什么才是循环?
[/Quote]
goto不算循环,它将程序控制直接传递给标记语句
相反,很多情况下goto 语句还用于跳出深嵌套循环。


另外,我这个方法是钻了“递归”的空子,递归是指调用自身,所以严格来说我这个不算递归
2楼的说话不要那么冲,你这个“sb”我暂时当你是在说StringBuilder好了,你可以对我有意见,但请文明用语。
zgke 2009-06-01
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
Test a= new Test(1, 100, 3);
}

public class Test
{
public Test(int min, int max, int num)
{
if (min % num == 0) Console.WriteLine(min);
if (min < max)
{
Test a=new Test(min+1, max, num);
}
}
}

这样?
yyq136 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yyq136 的回复:]
static void Main(string[] args)
{
int min = 1,max=100;
int i;
int j = int.parse(Console.ReadLine());
if(j < min || j > max)
{
return;
}
i = (int)(max / j);
label:
if( i >0)
{
Console.WriteLine(i*j);
i-=1;
goto label;
}
}
[/Quote]

当然也算循环,就是lz写得例子其实原理也是一个循环。
我只是当时想到这样写,就顺手写下来了
南哥1207 2009-06-01
  • 打赏
  • 举报
回复
应该至少一次遍历吧,不遍历也找不到所有的答案啊,
除非数学上有什么公式可以一次求出来
Error_Code 2009-06-01
  • 打赏
  • 举报
回复
goto不算循环嘛 谁告诉我goto算不算循环? 如果goto不算循环那什么才是循环?
yyq136 2009-06-01
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
int min = 1,max=100;
int i;
int j = int.parse(Console.ReadLine());
if(j < min || j > max)
{
return;
}
i = (int)(max / j);
label:
if( i >0)
{
Console.WriteLine(i*j);
i-=1;
goto label;
}
}
shield0771 2009-06-01
  • 打赏
  • 举报
回复
本质上还是一个递归吧?
OnCount中的c.I++导致OnCount再次被调用
悔说话的哑巴 2009-06-01
  • 打赏
  • 举报
回复
先看看
yingzhilian2008 2009-06-01
  • 打赏
  • 举报
回复
来看看 帮顶
yyq136 2009-06-01
  • 打赏
  • 举报
回复
static void Main(string[] args)
{
int min = 1,max=100;
int i=1;
int j = int.parse(Console.ReadLine());
label:
if(j>min && j < max)
{
if( j * (i+1) < max)
{
Console.WriteLine(i);
goto label;
}
}
}
MyDream_IT 2009-06-01
  • 打赏
  • 举报
回复
这还是循环呀!郁闷!
加载更多回复(11)

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧