小语种网站制作爬虫到WordPress
小语种网站制作,爬虫到WordPress,上海公司注销流程及资料,做网站域名需哪些第1关 找零钱
任务描述
本关任务#xff1a;设计一个贪婪算法#xff0c;使得找的钱币张数最少。
商店售货员找给 1 个顾客 n 元#xff0c;用以下七种面值的纸币#xff1a;100 元#xff0c;50 元#xff0c;20 元#xff0c;10 元#xff0c;5 元#xff0c;2 …第1关 找零钱
任务描述
本关任务设计一个贪婪算法使得找的钱币张数最少。
商店售货员找给 1 个顾客 n 元用以下七种面值的纸币100 元50 元20 元10 元5 元2 元1 元。
思考如果商店售货员找给 1 个顾客 140 元假设钱币的面值有九种100 元70 元50 元20 元10 元7 元5 元2 元1 元。用贪婪算法得到的是该问题的最优解吗
编程要求
请在右侧编辑器Begin-End处补充代码完成本关任务注意需要学生自己获取找的钱 n。
测试说明
平台会对你编写的代码进行测试比对你输出的数值与实际正确数值只有所有数据全部计算正确才能通过测试
测试输入123需要找给顾客的钱 n元
预期输出
#include stdio.hint greedy_coin_change(int amount) {// 定义面值数组和对应的纸币名称int coins[] {100, 50, 20, 10, 5, 2, 1};const char *coin_names[] {100元, 50元, 20元, 10元, 5元, 2元, 1元};// 初始化计数器int count 0;// 计算找零for (int i 0; i sizeof(coins) / sizeof(coins[0]); i) {// 计算当前面值的纸币张数int num_coins amount / coins[i];// 输出当前面值纸币的张数和名称printf(%s %d张\n, coin_names[i], num_coins);// 更新剩余的金额amount % coins[i];}return count;
}int main() {// 获取需要找给顾客的钱int n;scanf(%d, n);// 调用贪婪算法计算最少需要的钱币张数int result greedy_coin_change(n);// 输出结果return 0;
}第2关求一个数列的极差
本关任务将 n 个正整数作成的一个数列进行如下操作每一次删除其中的两个数 a 和 b然后在数列中加入一个数a×b1如此下去直至数列中剩下一个数。
在所有按这种操作方式最后得到的数中最大的记作 max最小的记作 min则该数列的极差定义为Mmax-min请你使用贪心算法设计编程输出他们的极差。
编程要求
请在右侧编辑器Begin-End处补充代码完成本关任务注意已经为你获取输入数据。
测试说明
平台会对你编写的代码进行测试比对你输出的数值与实际正确数值只有所有数据全部计算正确才能通过测试
测试输入 7 //输入7n个整数3 //此行及以下为具体的每个数据579111315
预期输出Maxmax-min2221298-2038489182809
#include stdio.h/********* Begin **********/int s1,s2;
void max2(int a[],int n)
{int j;if(a[1]a[2]){s11;s22;}else{s12;s21;}for (j3;jn;j){if(a[j]a[s1]){s2s1;s1j;}else if(a[j]a[s2])s2j;}
}
int calculatemin(int a[],int n)
{while (n2){max2(a,n);a[s1] a[s1]* a[s2]1;a[s2]a[n];nn-1;}return(a[1]* a[2]1);
}
void min2(int a[ ],int n)
{int j;if(a[1]a[2]){s11;s22;}else{s12;s21;}for (j3;jn;j){if (a[j]a[s1]){s2s1;s1j;}else if (a[j]a[s2])s2j;}
}
int calculatemax(int a[],int n)
{while (n2){min2(a,n);a[s1] a[s1]* a[s2]1;a[s2]a[n];nn-1;}return(a[1]* a[2]1);
}
int length(int a[])
{int i1;while(a[i]!0){i;}return i-1;
}
int main()
{int i,n,b[100],max,min,num;scanf(%d,num);int a[num1];for (i1;inum;i)scanf(%d,a[i]);for (i1;inum;i)b[i]a[i];min calculatemin(a,num);max calculatemax(b,num);printf(Maxmax-min%d-%d%d\n,max,min,max-min);
}
/********* End **********/第3关将真分数用埃及分数之和表示
任务描述
本关任务设计一个算法把一个真分数 F 表示为埃及分数之和的形式。
编程要求
请在右侧编辑器Begin-End处补充代码完成本关任务注意需要学生自己获取真分数再进行编程。
测试说明
平台会对你编写的代码进行测试比对你输出的数值与实际正确数值只有所有数据全部计算正确才能通过测试
测试输入3 53为分子5为分母真分数为3/5
预期输出3/51/21/10
#include stdio.hvoid main()
{/********** Begin **********/
int a,b,c;scanf(%d %d,a,b);if(ab)printf(输入错误);elseif(a1 || b%a0){printf(%d/%d1/%d,a,b,b/a);}else{printf(%d/%d,a,b);while(a!1){c b/a1;a a*c - b;b b*c;printf(1/%d,c);if(a1)printf();if(b%a 0 || a1){printf(1/%d,b/a);a1;}}}printf(\n);/********** End **********/
} 第4关找到出现次数最多的数
任务描述
本关任务给定 n 个正整数编写一个实验程序找出它们中出现次数最多的数。如果这样的数有多个输出其中最小的一个。
编程要求
请在右侧编辑器Begin-End处补充代码完成本关任务。
测试说明
平台会对你编写的代码进行测试比对你输出的数值与实际正确数值只有所有数据全部计算正确才能通过测试
测试输入 6 //给定6n个正整数10 //此行及以下为具体的每个数据110203020
预期输出出现次数最多的且最小的数为10
#include stdio.h
using namespace std;
#includealgorithm/********** Begin **********/int find(int n,int * a)
{int maxn0,bestd,num1,i1;sort(a,an);int preda[0];while(in){while(ina[i]pred){num;i;}if(nummaxn){bestdpred;maxnnum;}preda[i];num1;i;}return bestd;
}
int main()
{int n,bestd,i;scanf(%d,n);int a[n];for(i0;in;i)scanf(%d,a[i]);bestdfind(n,a);printf(出现次数最多的且最小的数为%d\n,bestd);return 0;
}
/********** End **********/
第5关将给定的整数去掉任意个数字后重新组成最小整数
任务描述
本关任务键盘输入一个高精度的正整数 n去掉其中任意 s 个数字后剩下的数字按原左右次序将组成一个新的正整数。
编程对给定的 n 和 s寻找一种方案使得剩下的数字组成的新数最小。
编程要求
请在右侧编辑器Begin-End处补充代码完成本关任务。
测试说明
平台会对你编写的代码进行测试比对你输出的数值与实际正确数值只有所有数据全部计算正确才能通过测试
测试输入 231183 //正整数n3 //去掉3s个数字
预期输出113
#include bits/stdc.h
using namespace std;int main() {/********* Begin ********/
int k;string s;cin s k;if (k s.size()) {cout Invalid Input.;}while (k) {int i;for (i 0; i s.size() - 1 s[i] s[i 1]; i);s.erase(i, 1);k--;}if (s.empty()) {cout 0 endl;}int i 0;for (i 0; i s.size()-1;) {if (s[i] 0) i;else break;}cout s.substr(i);return 0;/********* End ********/
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/90436.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!