PAT《数据结构学习与实验指导》实验项目集 2-05 2-06 2-07 2-08
题目地址:here
没什么可说的,大水题
#include<cstdio>
#include<cmath>
int main()
{
int n;
scanf("%d", &n);
int data[n];
double average = 0.0;
for(int i = ; i < n; i++)
{
scanf("%d", &data[i]);
average += data[i];
}
average /= n;
double variance = 0.0;
for(int i = ; i < n; i++)
{
variance += (average - data[i])*(average - data[i]);
}
variance = sqrt(variance/n);
printf("%.5f", variance);
return ;
}
从结果的最后一位开始计算,依次计算每一个十进制位,水题
#include<cstdio>
#include<stack>
using namespace std; int main()
{
int num,times;
scanf("%d%d", &num, ×);
if(times == )printf("");
else
{
//从结果的最后一位开始计算,结果放入栈中
stack<char> result;
int carryBit = ;//进位
for(int i = times; i >= ;i--)
{
int tmp = num*i + carryBit;
result.push(tmp% + '');
carryBit = tmp/;
}
if(carryBit != )
printf("%d", carryBit);
while(result.empty() == false)
{
printf("%c", result.top());
result.pop();
}
}
return ;
}
这是整数的素因子分解问题,一个整数n的素数因子不可能同时大于sqrt(n), 先用“埃拉托斯特尼筛法”计算出sqrt(n)以内的所有素数,然后再注逐一查看这些素数是否是n的素因子,要注意最后除完所有素因子后如果结果>1,这个数也是素因子
//筛选法寻找n以内的素数,返回素数的个数
int findPrime(const int n, int prime[])
{
int primeNum = ;
bool isPrime[n+];//0表示是素数,1表示非素数
memset(isPrime, , sizeof(isPrime));
for(int i = ; i <= n; i++)
if(isPrime[i] == )
{//所有素数的倍数都不是素数
prime[primeNum++] = i;
for(int k = , t; (t = i*k)<= n; k++)
isPrime[t] = ;
}
return primeNum;
}
int main()
{
long N;
scanf("%ld", &N);
int *prime = new int[(int)sqrt(N)];
int primeNum = findPrime(sqrt(N), prime);
printf("%d=", N);
if(N == )printf("");
bool isFirst = true;
for(int i = ; i < primeNum; i++)
{
int exp = ;
while(N % prime[i] == )
{
exp++;
N = N / prime[i];
}
if(exp != )
{
if(isFirst == false)
printf("*");
else isFirst = false;
printf("%d", prime[i]);
if(exp > )
printf("^%d", exp);
}
} if(N > )
{
if(isFirst == false)
printf("*");
printf("%d", N);
}
return ; }
24点游戏请参考我的博客:here
注意的是结果后面要加‘\n’,要不然会提示答案格式错误
#include<cstdio>
#include<iostream>
#include<string>
using namespace std; //cards[i]的值是通过表达式expr[i]计算而来
bool GameRecur(double cards[], string expr[],
const int cardsNum, const int result)
{
if(cardsNum == 1)
{
if(cards[0] == result)
{
//cout<<expr[0]<<endl;
return true;
}
else return false;
}
//从已有数中任选两个,计算得到中间结果,并且和剩余的数一起存在cards数组的前
//cardsNum-1个位置
for(int i = 0; i<cardsNum; i++)
{
for(int k = i+1; k < cardsNum; k++)
{
double a = cards[i], b = cards[k];
cards[k] = cards[cardsNum-1];
string expra = expr[i], exprb = expr[k];
expr[k] = expr[cardsNum-1]; cards[i] = a + b;
expr[i] = '(' + expra + '+' + exprb + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true; cards[i] = a - b;
expr[i] = '(' + expra + '-' + exprb + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true; if(a != b)
{
cards[i] = b - a;
expr[i] = '(' + exprb + '-' + expra + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true;
} cards[i] = a * b;
expr[i] = '(' + expra + '*' + exprb + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true; if(b != 0)
{
cards[i] = a / b;
expr[i] = '(' + expra + '/' + exprb + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true;
} if(a != 0 && a!= b)
{
cards[i] = b / a;
expr[i] = '(' + exprb + '/' + expra + ')';
if(GameRecur(cards, expr, cardsNum-1, result))
return true;
} //把选出来的两个数放回原位
cards[i] = a;
cards[k] = b;
expr[i] = expra;
expr[k] = exprb;
}
}
return false;
} string PointGame(int cards[], const int cardsNum, const int result)
{
string expr[cardsNum];
double cardsCopy[cardsNum];
for(int i = 0; i < cardsNum; i++)
{
char buf[30];
sprintf(buf, "%d", cards[i]);
expr[i] = buf;
cardsCopy[i] = cards[i];
}
if(GameRecur(cardsCopy, expr, cardsNum, result))
return expr[0].substr(1, expr[0].length()-2); //去掉最外层的括号
else return "-1";
} int main()
{
int a[4];
for(int i = 0; i < 4; i++)
scanf("%d", &a[i]);
printf("%s\n", PointGame(a,4,24).c_str());
return 0;
}
【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3393183.html
PAT《数据结构学习与实验指导》实验项目集 2-05 2-06 2-07 2-08的更多相关文章
- 201871030125-王芬 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
实验三 软件工程结对项目 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs ...
- 201871030114-蒋鑫 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接☛ 班级博客 这个作业要求链接☛ 作业要求 我的课程学习目标☛ 1. 体验软件项目开发中的两人合作,练习结对编程(Pair programming).2. 掌握Github ...
- 201871030134-余宝鹏 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程(Pair programming) 2.掌握GitHub协作开发程 ...
- 201871030102_崔红梅 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 1.体验软件项目开发中的两人合作,练习结对编程2. 掌握Github协作开发程序的操作方法.3.阅读<现代软 ...
- 201871010130-周学铭 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 18卓越班 这个作业要求链接 实验三结对编程要求 我的课程学习目标 体验软件项目开发中的两人合作,练习结对编程(Pair programming).掌握Github协作开 ...
- 201871030139-于泽浩 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
201871030139-于泽浩 实验三 结对项目-<D{0-1}KP 实例数据集算法实验平台>项目报告 项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 软件工程结对项目 ...
- 【StatLearn】统计学习中knn算法实验(2)
接着统计学习中knn算法实验(1)的内容 Problem: Explore the data before classification using summary statistics or vis ...
- 201871030116-李小龙 实验二 个人项目—《D{0-1} KP》项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...
- 201871010113-贾荣娟 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 18级卓越班 这个作业要求链接 实验三-软件工程结对项目 这个课程学习目标 掌握软件开发流程,提高自身能力 这个作业在哪些方面帮助我实现了学习目标 本次实验让我对软件工程 ...
- 201871030125-王芬 实验二 个人项目-《D{0-1}问题》软件项目报告
实验二 个人项目-<D{0-1}问题>软件项目报告 项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 ...
随机推荐
- Android Service总结01 目录
Android Service总结01 目录 1 Android Service总结01 目录 2 Android Service总结02 service介绍 介绍了“4种service 以及 它们的 ...
- Android 性能优化的一些方法
1.采用硬件加速,在androidmanifest.xml中application添加 android:hardwareAccelerated="true".不过这个需要在and ...
- DataGridView 在 WinForms中应用不同的单元格式
/// <summary> /// Set the cell background colour to make the ups and downs more visible. /// & ...
- 架构:Hexagonal Architecture Guidelines for Rails(转载)
原文地址:http://theaudaciouscodeexperiment.com/blog/2014/03/17/hexagonal-architecture-guidelines-for-rai ...
- MongoDB:Map-Reduce
Map-reduce是一个考虑大型数据得到实用聚集结果的数据处理程式(paradigm).针对map-reduce操作,MongoDB提供来mapreduce命令. 考虑以下的map-reduce操作 ...
- 维京传奇第四季/全集Vikings迅雷下载
英文全名Vikings,第4季(2015). 本季看点:<维京传奇>当第四季开始时,Ragnar已经病入膏肓,随时可能丧命.毫无疑问,权力斗争异常激烈,谁都想在Ragnar死后获得最大利益 ...
- Asp.Net Mvc表单提交之List集合
一.说明 1.Asp.Net Mvc中Action的参数可以自动接收和反序列化form表单的值, 2.对于name=value类型,只要Action参数的变量名和input的name相同就行,不区分大 ...
- Bias(偏差),Error(误差),和Variance(方差)的区别和联系
准: bias描述的是根据样本拟合出的模型的输出预测结果的期望与样本真实结果的差距,简单讲,就是在样本上拟合的好不好.要想在bias上表现好,low bias,就得复杂化模型,增加模型的参数,但这样容 ...
- django的mysql设置和mysql服务器闲置时间设置
服务器启动后,每个进程都会主动连接到mysql,要是长时间没有数据交互,mysql会自动断开连接. show variables like '%timeout%'; 闲置连接的超时时间由wait_t ...
- 【BZOJ】【4152】【AMPZZ2014】The Captain
最短路 题解:http://zyfzyf.is-programmer.com/posts/97953.html 按x坐标排序,相邻点之间连边.满足dist(x1,x3)<=dist(x1,x2) ...