当前位置:首页 » 操作系统 » 数数X算法

数数X算法

发布时间: 2022-09-04 00:23:30

1. 设计求一个数x的绝对值的算法

有一个函数叫做符号函数,定义如下:
-------┏ 1,x>0
sgnx=┝ 0,x=0
-------┗ -1,x

2. 数学算法:

N=6*A+3*B+C
其中,A代表可拆成三个不同自然数(如0 1 2)的种数,B代表可拆成二个不同自然数(如0 0 2)组合的种数,C代表可拆成三个相同自然数的种数;
1.X能被三整除则C等于1,否则等于0;
2.分析B,X=2*b1+b2;b1为[0,X/2]的自然数,共X/2+1个,但是,若X能被三整除则存在一种b1=b2的情况,所以此时B=X/2;
3.分析A,X=a1+a2+a3;假设a1<a2<a3;a2至少比a1大1,a3至少比a1大2,
则a1为[0,X/3-1]的自然数,共X/3个;
若(X-a1)能被2整除,则a2为[a1+1,(X-a1)/2-1]的自然数,共(X-a1)/2-a1-1个;
若(X-a1)不能被2整除,则a2为[a1+1,(X-a1)/2]的自然数,共(X-a1)/2-a1个;
a3为待定数,不需要考虑。

可根据以上分析写出代码让计算机进行计算

3. 求一个算法:N个数,用其中M个任意组合相加等于一个已知数X。得出这M个数是哪些数。

N有范围没
如果范围比较大的话用深搜,记得排序,注意剪枝
范围小的话直接穷举
也就是设一个字符串,里面有M个1,N-M个0,产生所有全排列
当一位为1时,就表示选择这个数,为0表示不选择
初始为a[] = 00...0111...1(M个1)使用next_permutation(a, a+n)产生所有含有M个1、N-M个0的全排列,并判断和是否为X

4. 任意给一个实数x,设计一个算法,求x的绝对值,并画出程序框图.

S1:输入一个实数X
S2:判断X的符号,若X≥0,则输出X;否则输出-X
程序:
INPUTX
IFX>=0THEN
PRINTX
ELSE
PRINT-X
ENDIF
END

5. 用自然语言描述求出一个数x的三次方和它的绝对值的算法

解:对于任意的x∈R
x^3=x*x*x
|x|=x(x≥0)
=-x(x≤0)

如有疑问,可追问!

6. 有10个数字(1,2,3,4,5,6,7,8,9,10) 取出一个 x,判断取出哪个数字

算法过程:

1、随机在10个数字里面取一个数字x,可利用随机函数通过取下标的方式取得10个数里面的任意一个,由此保证随机性。

2、遍历十个数的每个数是否与取得的数字相同,如果相同,则那个数就是所取得的未知数x

java代码:

	publicstaticvoidmain(String[]args){
//由于指定了数字池,所以先存放到一个数组里面
int[]numPool={1,2,3,4,5,6,7,8,9,10};
Randomrd=newRandom();
intrn=(rd.nextInt(10)); //随机生成0-9的数字作为下标
System.out.println("随机取一个数字x...");
intx=numPool[rn]; //取出随机取出的未知数x,存至resultNum变量内
for(inti=0;i<10;i++){ //利用简单for循环遍历数组
if(resultNum==numPool[i]){ //比较数组中的每个数与未知数x,如果相同,则输出
System.out.println("所取得的数字是:"+numPool[i]);
System.out.println("随机取得的数字x为:"+resultNum);
}
}
}

其他语言代码大同小异

热点内容
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:187
android工程叹号 发布:2024-05-17 10:56:21 浏览:480
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:547
赛欧313配置怎么样 发布:2024-05-17 10:43:16 浏览:988
c语言预算 发布:2024-05-17 10:43:16 浏览:492
推荐对称加密算法 发布:2024-05-17 10:43:15 浏览:822
有存储功能计算器 发布:2024-05-17 10:42:34 浏览:118
小米账号密码保险箱在哪里 发布:2024-05-17 10:17:00 浏览:752
抖音引流脚本推荐 发布:2024-05-17 10:11:16 浏览:724
sql数据库数据路径 发布:2024-05-17 10:00:25 浏览:132