來吧專家們,f(f(n))=-n;

hlyces 2009-12-25 11:46:49
RT

请设计实现子函数f.

n为整数。

我看了下google上的,但是我想不是这样的啊。

如:
1:f(n)
2:ff(n)=-n;
3:fff(n)=-f(n)=f(-n);//这是个奇子函数???
4:ffff(n)=-ff(n)=n
5:fffff(n)=-fff(n)=f(n)
以下开始循环。
...全文
242 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
baihacker 2009-12-25
  • 打赏
  • 举报
回复
f(n) = i * n
ff(n) = i * f(n) = i * i * n = - n
?
pustian 2009-12-25
  • 打赏
  • 举报
回复
int f(int n){
int ret;
if(n>=0){
****;
return ret;
}
else {
return ret = f(-n)
}

}
建鼎呓语 2009-12-25
  • 打赏
  • 举报
回复
f(n) = n;
ff(n) = -n;
fff(n) = -f(n) = f(-n) = -n;
ffff(n) = -ff(n) = n;
fffff(n)= -fff(n) = f(n) = n;

没搞明白,你想做什么。
hlyces 2009-12-25
  • 打赏
  • 举报
回复
好像名字起的不好,没人来答

郁闷!!
hlyces 2009-12-25
  • 打赏
  • 举报
回复
写错了,不是子子函数。忽略掉

SF
shuilongyin_00 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 mstlq 的回复:]
如果楼主你运行过一次15楼的程序,你的眼睛就会告诉你,这道题有解……
拿个编译器出来验证一下,不要那么浮躁好不好?
我再贴一次完整程序,看好了……
麻烦你拿本书出来,好好看看static变量是怎么回事……[/Quote]
与点点生气了……
圣诞要快乐哈……! 大家快乐……
mstlq 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 hlyces 的回复:]
我想不通了,最后只要有程序的都发分吧

我觉得这个题不是人做的

是个无解题

[/Quote]

如果楼主你运行过一次15楼的程序,你的眼睛就会告诉你,这道题有解……
拿个编译器出来验证一下,不要那么浮躁好不好?
我再贴一次完整程序,看好了……
麻烦你拿本书出来,好好看看static变量是怎么回事……

#include<stdio.h>

int f(int n)
{
static int i=1;
i*=-1;
return i*n;
}
int main(int argc, char* argv[])
{
int i;
for (i=-9;i<=9;++i)
printf("f(f(%d))=%d\n",i,f(f(i)));
return 0;
}

hlyces 2009-12-25
  • 打赏
  • 举报
回复
我想不通了,最后只要有程序的都发分吧

我觉得这个题不是人做的

是个无解题

因为永远不知道f(n)=???

只知道:
1:f(n)//一次f(n)

2:-n//二次ff(n)

3:-f(n)//三次fff(n)

4:n//四次ffff(n)

5:f(n)//五次fffff(n)

...
mstlq 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 hlyces 的回复:]
GOOGLE上就是你这个解了,15楼

可是,我做的次f(f(f(f(n))))=???

f(f(n))=-n;

按你的:让n=1

那么f(1)=-1

f(f(1))=1        要按题目://f(f(1))=-1

f(f(f(1)))=-1//  f(f(f(1)))=-f(1))=1
f(f(f(f(1))))=1 //  f(f(f(f(1))))=-f(f(1))=-(-1)=1
f(f(f(f(f(1)))))=-1 //    f(f(f(f(f(1)))))=-(fff(1))=-(-f(1))=f(1)=1
如果只是你这种做法,那只能说f函数只做了个符号的变化
[/Quote]
如果面试题是按13楼问的……
那就按15楼的去做……

别给题目强加“自以为的条件”……
z569362161 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 hlyces 的回复:]
GOOGLE上就是你这个解了,15楼

可是,我做的次f(f(f(f(n))))=???

f(f(n))=-n;

按你的:让n=1

那么f(1)=-1

f(f(1))=1        要按题目://f(f(1))=-1

f(f(f(1)))=-1         //  f(f(f(1)))=-f(1))=1
f(f(f(f(1))))=1       //  f(f(f(f(1))))=-f(f(1))=-(-1)=1
f(f(f(f(f(1)))))=-1     //    f(f(f(f(f(1)))))=-(fff(1))=-(-f(1))=f(1)=1
如果只是你这种做法,那只能说f函数只做了个符号的变化
[/Quote]

看了你的解释就是递归就解决了。
hlyces 2009-12-25
  • 打赏
  • 举报
回复
GOOGLE上就是你这个解了,15楼

可是,我做的次f(f(f(f(n))))=???

f(f(n))=-n;

按你的:让n=1

那么f(1)=-1

f(f(1))=1 要按题目://f(f(1))=-1

f(f(f(1)))=-1 // f(f(f(1)))=-f(1))=1
f(f(f(f(1))))=1 // f(f(f(f(1))))=-f(f(1))=-(-1)=1
f(f(f(f(f(1)))))=-1 // f(f(f(f(f(1)))))=-(fff(1))=-(-f(1))=f(1)=1
如果只是你这种做法,那只能说f函数只做了个符号的变化
z569362161 2009-12-25
  • 打赏
  • 举报
回复
#include<stdio.h>
int f(int n)
{
int i=1;
i=-i;
return i;
}
int main(int argc, char* argv[])
{
int n=1;
printf("%d\n",f(f(n)));
return 0;
}
do_fork 2009-12-25
  • 打赏
  • 举报
回复
在复数域中么?
mstlq 2009-12-25
  • 打赏
  • 举报
回复

int f(int n)
{
static int i=1;
i*=-1;
return i*n;
}
int main(int argc, char* argv[])
{
int i;
for (i=-9;i<=9;++i)
printf("%d\n",f(f(i)));
return 0;
}
hlyces 2009-12-25
  • 打赏
  • 举报
回复
怎么在GOOGLE搜不到这个题了???

费解
hlyces 2009-12-25
  • 打赏
  • 举报
回复
就是一道面试题,说是f(f(n))=-n

要实现f子函数,我看了半天没搞明白

有没有人解决下
fenglingxiaowu 2009-12-25
  • 打赏
  • 举报
回复
不理解~~~
天亮后说晚安 2009-12-25
  • 打赏
  • 举报
回复
表达什么意思啊
M_S_D_N 2009-12-25
  • 打赏
  • 举报
回复
梦游。。
lovesi3344 2009-12-25
  • 打赏
  • 举报
回复
函数迭代与递推方程
加载更多回复(3)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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