一个令人沉思的算法实现!

yjip 2007-01-10 11:23:42
我想实现一个这样的算法:

我有一百万个整形ID,编从1到一百万.

当我给出第一个ID时,自动计算一个值给这个ID,当我第二次再给第一个ID时,
就不计算新的值给这个ID.因为又计算一个值给它过了.如:我输入22,这个算法就自动
计算一个值110给22.,当第二次再输入22时就不计算新值给22了.


请问有什么算法可以完成这个功能?

用数据库和文件来做我知道怎么来完成这个功能.我现在问的是用纯算法来实现,如写个函数,传一个ID给它.它返回值给我就行了.

请大哥们指点.
...全文
1064 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhiyubuaa 2007-02-05
  • 打赏
  • 举报
回复
真没看明白lz是什么意思
rivar 2007-02-05
  • 打赏
  • 举报
回复
很简单嘛,上面已经有人提出答案了,
搂主不注意看,就是写个“标志位“
比如你给出的ID可以用7位表示,就用第8位当标记:
0时就是没有计算过,1就是计算了
CharlesPrince 2007-01-25
  • 打赏
  • 举报
回复
int getValue(int Code){
return Code; // :)
}
或是
int getValue(int Code){
return Code*2+100; // :)
}
或是
int hasharr[10000];
for (int i=0;i<10000;i++)
{
hasharr[i]=rand();
}

int getValue(int Code){
return hasharr[(int)(((double)10000*Code)/1000000)]; // :)
blueoceanli 2007-01-23
  • 打赏
  • 举报
回复
是否要哈希算法的原形定义??????????????
mathe 2007-01-23
  • 打赏
  • 举报
回复
使用任何一个一一对映函数就可以了。比如这个计算出来的值总是这个ID或者(ID*3)%1000000
等等
YFLK 2007-01-23
  • 打赏
  • 举报
回复
这不是算法问题!楼主
yjip 2007-01-22
  • 打赏
  • 举报
回复
没有人顶了吗?
yjip 2007-01-18
  • 打赏
  • 举报
回复
从上面朋友们的讨论中,得出总论是还是,需要先把,值存起来.再一个个找.我想用一个法算.市计算而不是要去遍历数组.
不知道有这样的算法吗?
mmmcd 2007-01-15
  • 打赏
  • 举报
回复
没具体要求,随便弄一个?
#include <stdio.h>
#include <stdlib.h>
int getValue(int Code){
static int v[1000000]={0};
if(v[Code-1]==0)
v[Code-1]=rand();
return v[Code-1];
}

int main()
{
printf("%d\n",getValue(22));
printf("%d\n",getValue(100));
printf("%d\n",getValue(22));
return 0;
}
heartbeast 2007-01-15
  • 打赏
  • 举报
回复
弄个100万的数组,初始化为0,来一个ID看看对应的数组是否为0,是就计算,不是直接赋值...
kinkoyo 2007-01-15
  • 打赏
  • 举报
回复
用个标志位...
stoneme 2007-01-15
  • 打赏
  • 举报
回复
这种情况你必需把计算过的值先存起来,没有别的办法
如,所有值都置成-1,当计算时先看是不是-1,是-1的再计算
ruanzheng13 2007-01-15
  • 打赏
  • 举报
回复
hash
yjip 2007-01-14
  • 打赏
  • 举报
回复
大家好,能不能给代码看一下啊.
wang430903 2007-01-11
  • 打赏
  • 举报
回复
不大明白LZ 的意图
fosjos 2007-01-11
  • 打赏
  • 举报
回复
hash线性探测再散列
shshsh_0510 2007-01-11
  • 打赏
  • 举报
回复
int getValue(int Code){
return Code; // :)
}
Loongchild 2007-01-10
  • 打赏
  • 举报
回复
用散列函数

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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