当前位置: 首页 > news >正文

仿懒人图库网站源码仿淘宝网站源码 asp

仿懒人图库网站源码,仿淘宝网站源码 asp,江苏省备案网站,社交电商十大平台有哪些一、编程题 第1题#xff1a;求和 【题目描述】 输入一个正整数 N(N 100)#xff0c;输出 1 到 N(包含 1 和 N)之间所有奇数的和。 【输入描述】 输入一个正整数 N(N 100) 【输出描述】 输出 1 到 N 之间的所有奇数的和 【输入样例】 3【输出样例】 4答案求和 【题目描述】 输入一个正整数 N(N 100)输出 1 到 N(包含 1 和 N)之间所有奇数的和。 【输入描述】 输入一个正整数 N(N 100) 【输出描述】 输出 1 到 N 之间的所有奇数的和 【输入样例】 3【输出样例】 4答案 参考代码一 #include iostream using namespace std; int main() {int n;cin n;int sum 0;for (int i 1; i n; i) {if (i % 2 1) {sum i;}}cout sum endl;return 0; }参考代码二 #include bits/stdc.h using namespace std; int n; int main() {cin n;int sum 0;for (int i 1; i n; i 2)sum i;cout sum;return 0; }本题属于简单题考察累加器和循环的使用。定义累加器 sum 并初始化为 0循环枚举i从1到 n判断i如果为奇数则累加 sumì。循环结束后输出 sum。对循环理解较好的同学也可以去掉 ǐ 判断将 i改为i 2直接累加也可达到奇数求和的效果。 第2题求平方 【题目描述】 平方是一种运算比如a 的平方表示 a × a。 例如2 的平方为 4(也就是 2*2 的积) 例如4 的平方为 16(也就是 4*4 的积) 输入一个正整数 N(N 30)输出 1 到 N(包含 1 和 N)之间所有正整数的平方且所输出的平方数之间以英文逗号隔开。 【输入描述】 输入一个正整数 N(N 30) 【输出描述】 输出所有正整数的平方数以英文逗号隔开 【输入样例】 3【输出样例】 1,4,9答案 参考代码一 #include iostream using namespace std; int main() {int n;cin n;for (int i 1; i n; i) {cout i * i;if (i ! n) {cout ,;}}return 0; }参考代码二 #include bits/stdc.h using namespace std; int n; int main() {cin n;cout 1;for (int i 2; i n; i)cout , i * i;return 0; }本题属于简单题考察循环的使用。大部分失分的同学主要错在输出格式上。题目中要求输出时用英文逗号隔开不能加空格或者使用中文逗号并且最后一个平方数后面不能有英文逗号因此在循环输出时判断循环变量i如果不是输出最后一个数则输出英文逗号””否则不输出。 第3题数位递增数 【题目描述】 一个正整数如果任何一个数位小于等于右边相邻的数位则称为一个数位递增数。 例如 1135 是一个数位递增数 1024 不是一个数位递增数 输入一个正整数 n(11n10001)输出 11 到 n(包含11和n)中有多少个数位递增数。 例如输入 1511 到 15 之间的数位递增数有11、12、13、14、15。一共有 5 个。 【输入描述】 输入一个正整数 n(11n10001) 【输出描述】 输出 11 到 n 中有多少个数位递增数 【输入样例】 15【输出样例】 5答案 参考代码一 #include iostream using namespace std; int main() {int n;cin n;int cnt 0;for (int i 11; i n; i) {int a i / 10000 % 10; // 万位int b i / 1000 % 10; // 千位int c i / 100 % 10; // 百位int d i / 10 % 10; // 十位int e i % 10; // 个位if (a b b c c d d e) {cnt;}}cout cnt endl;return 0; }参考代码二 #include bits/stdc.h using namespace std; int n; int main() {cin n;int sum 0;for (int i 11; i n; i) {string s;stringstream ss;ss i;ss s;int f 0;for (int j 1; j s.size() - 1; j)if (s[j] s[j - 1]) {f 1;break;}if (!f)sum;}cout sum;return 0; }本题与之前课上所做的水仙花数、四叶玫瑰数类似考察循环枚举与数位分离的技巧。 题目中的数据范围为 11~10001即最少为2位最多为5位。由题意可知一个数位递增数在高位补0后不会改变数的大小且仍为数位递增数。不妨在高位补 0将所有的数当做五位数处理。例如11、12 是数位递增数处理时看做 00011、00012仍为数位递增数。补齐五位后使用数位分离的技巧依次取出万位 a、千位 b、百位 c、十位 d、个位 e判断是否高位数字 低位数字如果是数位递增数则计数器 cnt循环结束后输出 cnt程序结束. 第4题最短距离 【题目描述】 有一个居民小区的楼房全是一样的并且按矩阵样式排列。其楼房的编号为 123……当排满一行时从下一行相邻的楼往反方向排号。 例如小区为 3 行 6 列矩阵排列方式 要求已知小区楼房有 w 列及两个楼房楼号 m 和 n求从 m 号楼到 n 号楼之间的最短路线经过几个楼(不能斜线方向移动)。 例如上图当 w6m8n2从 8 号楼到 2 号楼最短的路线经过 5432 四个楼(910112 也经过四个楼)故最短路线为 4(注不考虑路线只考虑最短路线经过几个楼)。 输入三个正整数 w(1w21)m(1m10001)n(1n10001)且 m 不等于n。三个正整数之间以一个空格隔开输出m 到n的最短路线经过几个楼。 【输入描述】 在一行输入三个正整数 wmn三个正整数之间以一个空格隔开 【输出描述】 输出 m 到 n 的最短路线经过几个楼 【输入样例】 6 8 2【输出样例】 4答案 参考代码一 #include cmath #include iostreamusing namespace std; int main() {int w, m, n;cin w m n;int x1, y1, x2, y2;x1 (m - 1) / w 1;y1 (m - 1) % w 1;if (x1 % 2 0) {y1 w 1 - y1;}x2 (n - 1) / w 1;y2 (n - 1) % w 1;if (x2 % 2 0) {y2 w 1 - y2;}int ans abs(x1 - x2) abs(y1 - y2);cout ans endl;return 0; }参考代码二 #include bits/stdc.h using namespace std; int n, m, w, a[1011][1011], s1, t1, s2, t2; int main() {cin w n m;int x 1, y 1, f 0;if (n m)swap(n, m);for (int i 1; i m; i) {a[x][y] i;if (i n)s1 x, t1 y;if (i m)s2 x, t2 y;if (f 0)y;elsey--;if (y w) {x;y w;f 1;}if (y 1) {x;y 1;f 0;}}cout abs(s2 - s1) abs(t2 - t1);return 0; }本题重点考察题目分析和理解。我们需要计算出 m、n 号楼在第几行第几列行、列的差相加得到最终的结果。 例如w6m8,n2,可以算得8号楼所在行x1(m-1)/w1(8-1)1612,2号楼所在行x2(n-1)/w1(2-1)1611: 所在列的情况比较复杂涉及反向的问题其中奇数行的列号从左往右依次增大偶数行的列号从左往右依次减小我们可以先按照从左往右依次增大的情况算出y1(m-1)%w1(8-1)%612,y2(n-1)%w1(2-1)%612: 其中2号楼在奇数行y22即为所在列8号楼在偶数行方向相反y1w1-y161-258号楼在第5列。 经过的楼数为 abs(x1-x2)abs(y1-y2)abs(2-1) abs(5-2) 4. 将如上过程编写为程序输出即可。 第5题组合 【题目描述】 输入两个正整数 n 和 m(20 m n 0)n 代表正整数的个数要求 n 个正整数相加的和为 m输出满足这个条件的正整数组合有多少。 例如当 n4m8 时满足条件的有 5 组(也就是:5111842118331183221822228每组组合都由 4 个正整数组成且 4 个正整数的和等于 8) 【输入描述】 分行输入 n 和 m(20mn0) 【输出描述】 输出满足这个条件的正整数组合有多少 【输入样例】 4 8【输出样例】 5答案 参考代码一 #include iostream using namespace std; int n, m, sum 0, ans 0; int a[25]; void dfs(int p) {if (p n) {if (sum m) {ans;}return;}for (int i a[p - 1]; i m - sum; i) {sum i;a[p] i;dfs(p 1);sum - i;a[p] 0;} } int main() {cin n m;a[0] 1;dfs(1);cout ans endl;return 0; }参考代码二 #include bits/stdc.h using namespace std; int n, m, a[110], ans; void dfs(int dps, int sum) {if (sum m)return;if (dps n) {if (sum m)ans;} else {for (int i 1; i m; i) {if (i a[dps - 1]) {a[dps] i;dfs(dps 1, sum i);a[dps] 0;}}}return; } int main() {cin n m;dfs(1, 0);cout ans;return 0; }做法1使用递归回溯法设数组 a[25]a[p] 表示式子中的第 p 个加数。 设初始值 a[0] 1依次递归枚举 a[1]~ a[n]为了避免重复枚举a[p]的枚举范围为 a[p-1]~(m- sum)。 计算 a[1] ~ a[n] 总和 sum如果 sum m则个数 ans。 递归结束输出符合条件的个数 ans。
http://www.zqtcl.cn/news/598499/

相关文章:

  • 可以免费下源码的网站石家庄市里的网站公司
  • wordpress的别名获得页面的别名优化大师电视版
  • 怎么查网站关键词排名微信上的h5页面是怎么制作的
  • 如何为一个网站做app手机软件大全
  • 哪家网络公司做网站工信部网站原来是
  • json取数据做网站asp网站 模板
  • 漳州做网站多少钱乐清网红餐厅
  • 淮安网站开发sem推广案例
  • 义乌网站建设郭云砺信息科技做网站
  • 重庆御临建筑公司官网网站更换域名seo
  • 北京大兴专业网站建设公司wordpress 加速乐
  • win7怎么做网站域名绑定邯郸最新通知今天
  • 苏州企业网站设计开发个人 网站备案
  • 威海哪有网站建设中国建设部网站失信名单
  • 重庆哪家在做网站建设php网站后台验证码不显示
  • 开发网站开票写什么google收录查询
  • dw做的网站如何上传图片服务器配置wordpress
  • 恩施网站优化七牛云可以做网站的存储空间吗
  • 网站建设的源代码有什么作用网站维护包括哪些
  • 广东广东网站建设工作网站qq登录 开发
  • 中山网页网站设计模板access 数据库做网站
  • 阿里云网站做网站的服务器用什么系统
  • 什么公司做网站最好怎么给网站做快照
  • 官方网站建设的方法有哪些方面邮箱号码大全
  • 电商app软件山东网络推广优化排名
  • 国内产品网站w源码1688网站关键词描述字数
  • 网站404 模板wordpress 文字插件下载
  • 河南民基建设工程有限公司网站齐齐哈尔建设局网站首页
  • 响应式网站建设推荐乐云践新三丰云免费云服务器
  • 长沙网站建设模板uc浏览器访问网站