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

做电影网站前途设计排版软件

做电影网站前途,设计排版软件,建设销售网站的好处,手机网站免费做推广题目描述#xff1a; 若一个数#xff08;首位不为零#xff09;从左向右读与从右向左读都一样#xff0c;我们就将其称之为回文数。 例如#xff1a;给定一个十进制数 56#xff0c;将 56 加 65#xff08;即把 56 从右向左读#xff09;#xff0c;得到 121 是一个…题目描述 若一个数首位不为零从左向右读与从右向左读都一样我们就将其称之为回文数。 例如给定一个十进制数 56将 56 加 65即把 56 从右向左读得到 121 是一个回文数。 又如对于十进制数 87 STEP18778165 STEP2165561726 STEP37266271353 STEP4135335314884 在这里的一步是指进行了一次 N 进制的加法上例最少用了 4 步得到回文数 4884。 写一个程序给定一个 N2≤N≤10 或 N16进制数 M100 位之内求最少经过几步可以得到回文数。如果在 30 步以内包含 30 步不可能得到回文数则输出 Impossible!。 输入格式 两行分别是 NM。 输出格式 如果能在 3030 步以内得到回文数输出格式形如 STEPans其中 ansans 为最少得到回文数的步数。 否则输出 Impossible!。 输入输出样例 输入 #1 10 87输出 #1 STEP4 题目来源 P1015 [NOIP1999 普及组] 回文数 思路及部分代码 1. 将字符解析成数字 //将字符解成数字 int char_number(char c){if(c 0 c 9)return c-0;else if(c A c F)return (c - A 10); else if(c a c f)return (c - a 10);elsereturn 0; } 2. 各进制加运算法 //进行进制运算 2-10 || 16 //返回值表示是否有进位 int operation(int x,int n){int a;int i 0;number[0] 0;for(i 0;i n;i){a number_z[i] number_z[n-i-1] number[i];if(a x){number[i] a - x;number[i1] 1; }else{number[i] a;number[i1] 0;}}return number[n]; } 3. 判断数字是否满足实验要求 //传入number的位数判定是否 是 同位数 int number_pd(int n){for(int i 0; in;i){if(number[i] ! number[n-i-1]) return 0; //不满足同位数要求}return 1; } 4. 依次计算到题目要求的结束 while(1){//将数值传入临时保存for(int i0; i cnt_n; i){number_z[i] number[i];}//超出计算次数if(cnt 30){printf(Impossible!\r\n);return 0;}cnt_n cnt_n operation(n, cnt_n);cnt;//如果满足同位数if(number_pd(cnt_n) 1){printf(STEP%d\r\n, cnt);break;}} 总代码 #include stdio.h #include string.hchar M[100]; int number_z[10000]; int number [10000] {0};//将字符解成数字 int char_number(char c){if(c 0 c 9)return c-0;else if(c A c F)return (c - A 10); else if(c a c f)return (c - a 10);elsereturn 0; }//将数字转换成字符 /* char number_char(int n){if(n 0 n9)return 0n;else if(n 10 n15)return (An-10); }*///进行进制运算 2-10 || 16 //返回值表示是否有进位 int operation(int x,int n){int a;int i 0;number[0] 0;for(i 0;i n;i){a number_z[i] number_z[n-i-1] number[i];if(a x){number[i] a - x;number[i1] 1; }else{number[i] a;number[i1] 0;}}return number[n]; }//传入number的位数判定是否 是 同位数 int number_pd(int n){for(int i 0; in;i){if(number[i] ! number[n-i-1]) return 0; //不满足同位数要求}return 1; }int main (){int n;scanf(%d,n);scanf(%s,M);//将接收的字符串for(int i0;istrlen(M);i){number[i] char_number(M[i]); }int cnt_n strlen(M);int cnt 0; //用于计算步数while(1){//将数值传入临时保存for(int i0; i cnt_n; i){number_z[i] number[i];}//超出计算次数if(cnt 30){printf(Impossible!\r\n);return 0;}cnt_n cnt_n operation(n, cnt_n);cnt;//如果满足同位数if(number_pd(cnt_n) 1){printf(STEP%d\r\n, cnt);break;}}return 0; }总结 代码实现了进制转换和同位数判断的功能并且在实现过程中使用了数组、循环、条件语句等基本的编程知识。 不足之处 变量名不够直观例如 M、number_z、number 等变量名不够清晰不便于阅读和理解。函数和变量的注释不够详细没有说明其作用、输入和输出等信息不便于阅读和理解。在进行进制运算时代码中使用了 number 数组来保存结果但是没有清空该数组可能会导致计算结果错误。 改进意见 变量名应该更加直观例如 M 可以改为 input_stringnumber_z 可以改为 temp_numbernumber 可以改为 result_number 等。在代码中添加注释说明函数和变量的作用、输入和输出等信息方便阅读和理解。在进行进制运算时应该在每次运算前清空 number 数组避免出现错误的计算结果。可以在每次运算前使用 memset 函数将 number 数组清空。
http://www.dnsts.com.cn/news/202932.html

相关文章:

  • 龙岩做网站哪家最好专业做网文的网站
  • 珠海网站上排名小程序直播助手
  • 部署个人网站厦门旅游必去十大景点
  • 北京网站设计公司排名推荐一个两学一做的网站
  • 室内设计网站 知乎域名三天更换一次
  • 做简单视频网站自己看如何给网站加cdn
  • 高仿酒网站怎么做东莞网站优化哪个公司好
  • 做徒步网站怎么样无法定位wordpress内容目录(wp-content).
  • 那些网站做民宿个人如何做跨境电商?
  • 一个网站可以做几级链接张家口网站开发
  • 东营网站建设预算价格怎么查一个工地的施工单位
  • 微信网站模块中英文网站怎么做
  • 新的网站做淘宝客南充网站网站建设
  • 网站建设经费保障wordpress企业主题制作
  • 走廊文化建设图片网站七牛云使用wordpress
  • wordpress无编辑器合肥网络seo推广服务
  • 泉州网站开发公司wordpress post 模板
  • 网站中搜索栏怎么做网站页面设计论文
  • 古镇中小企业网站建设潍坊专业制氮机活性炭多少钱
  • 长春净月潭建设投资集团网站wordpress页面调用分类目录
  • 陕西网站建设公司网站开发从整体上
  • 上传了网站标志怎么弄常州比较有名的设计公司
  • 镇江网站建设优化制作公司网站设计和建设ppt
  • 昆明专业网站营销网站里的动效怎么做
  • 企业网站seo案例分析多店铺商城系统
  • 网站建设+青海兑换网站建设
  • 摄影师常用的网站网站建设销售发展前景
  • 山东建设网站首页免费个人网站制作
  • 做网站公司广州成都建立网站的公司网站
  • 上饶做网站要多少钱电商网站开发团队