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

数控技术是学什么上海如何优化网站

数控技术是学什么,上海如何优化网站,公司用wordpress建站用花钱,wordpress前台登录注册有意思的数学问题任意4位不完全一样的数字#xff0c;能组合出的最大数字减去能组合出的最小数字#xff0c;得到一个新的数字(3位数补0#xff09;#xff0c;重复以上操作#xff0c;不超过7个循环#xff0c;必然得到一个数#xff1a;6174这个问题是之前发布的文章能组合出的最大数字减去能组合出的最小数字得到一个新的数字(3位数补0重复以上操作不超过7个循环必然得到一个数6174这个问题是之前发布的文章有读者朋友在文章留言提到这个我觉得比较有意思就拿出来分享最近迷上这类有意思的东西而且是热乎原创的。输入一个数3256将他从小到大输出就是23561、我写的代码刚开始写的第一份代码有个缺陷写完后看到另一个读者提交的答案已经考虑到了这个问题自我感觉大神还是挺多的。我说下我代码里面的几个重点1、我使用get来获取输入的字符所以呢再使用arr[i] - 0x30把ascii码转换成数字比如字符 1转换成数字1,就需要把字符1对应的值0x31减去0x30得到数字1。2、关于冒泡排序冒泡排序网上有很多讲解第一个for循环是从0开始到len-1结束的关键在于第二个for循环第二个for循环从第一个for循环的值的下一个位置开始到len结束。关于冒泡排序的思路我做了一组图示如附图1#include stdio.h #include stdbool.h /*判断数组里面是否有一样的数*/ int j(char *arr,int len) {int i,j;for(i0;ilen;i) arr[i]  arr[i] - 0x30;/*字符转成数字*/for(i0;ilen-1;i)for(ji1;jlen;j)if(arr[i]  arr[j])return false;return true; }/*判断是否不足够4位数字*/ int j2(int diff) {if(diff10){diffdiff*1000;}else if(diff100){diff  diff*100;}else if(diff1000){diffdiff*10;} }/*升序*/ int m(char *arr,int len)  {int i,j;for(i0;ilen-1;i)for(ji1;jlen;j)/*和之后的位置比较*/if( arr[i]  arr[j]){arr[i] ^ arr[j];arr[j] ^ arr[i];arr[i] ^ arr[j];}  } /*降序*/ int n(char *arr,int len)  {int i,j;for(i0;ilen-1;i)for(ji1;jlen;j)if( arr[i]  arr[j]){arr[i] ^ arr[j];arr[j] ^ arr[i];arr[i] ^ arr[j];}//printf(%d%d%d%d\n,arr[0],arr[1],arr[2],arr[3]);  }int main(void) {int dmax,dmin,diff,i;char nums[4];char max[4];char min[4]; /*输入4个不同的数字*/while(j(nums,4)  false){printf(input:);gets(nums);}/*7个循环进行判断*/for(i0;i7;i){/*排序*/m(nums,4);//printf(%d%d%d%d\n,nums[0],nums[1],nums[2],nums[3]);dmax  nums[0]*1000  nums[1]*100nums[2]*10nums[3];/*排序*/n(nums,4);//printf(%d%d%d%d\n,nums[0],nums[1],nums[2],nums[3]);dmin  nums[0]*1000  nums[1]*100nums[2]*10nums[3];diff  dmax - dmin;diff  j2(diff);printf(dmax:%d dmin:%d diff:%d\n,dmax,dmin,diff);if(diff  6174){printf(find 6174\n);break;}nums[0]  diff/1000;nums[1]  diff%1000/100;nums[2]  diff%1000%100/10;nums[3]  diff%10;}getchar();return (0);  }  代码输出input:1234 dmax:4321 dmin:1234 diff:3087 dmax:8730 dmin:378 diff:8352 dmax:8532 dmin:2358 diff:6174 find 6174 基于严谨性我写了个测试程序来检验我的这段代码我总是觉得这样的理论不可思议用一个数字是不可能代表所有的可能性的所以有了下面的这段代码。#include stdio.h #include stdbool.h #include time.h/*判断数组里面是否有一样的数*/ int j(char *arr,int len) {int i,j;for(i0;ilen;i) arr[i]  arr[i] - 0x30;/*字符转成数字*/for(i0;ilen-1;i)for(ji1;jlen;j)if(arr[i]  arr[j])return false;return true; }/*判断是否不足够4位数字*/ int j2(int diff) {if(diff10){diffdiff*1000;}else if(diff100){diff  diff*100;}else if(diff1000){diffdiff*10;} }/*升序*/ int m(char *arr,int len)  {int i,j;for(i0;ilen-1;i)for(ji1;jlen;j)/*和之后的位置比较*/if( arr[i]  arr[j]){arr[i] ^ arr[j];arr[j] ^ arr[i];arr[i] ^ arr[j];}  } /*降序*/ int n(char *arr,int len)  {int i,j;for(i0;ilen-1;i)for(ji1;jlen;j)if( arr[i]  arr[j]){arr[i] ^ arr[j];arr[j] ^ arr[i];arr[i] ^ arr[j];}//printf(%d%d%d%d\n,arr[0],arr[1],arr[2],arr[3]);  }/****************************************************************************** *函数名称void get_random(char * random) *函数功能产生一个各位数不相等的四位随机数 *入口参数random为返回的随机数 *返 回 值无 *备 注先生成一个0-9的整数数组再随机从中取四个数每取一个将该位置为-1 *******************************************************************************/ void get_random(char * random) {int i, j[10], k;for (i  0; i  10; i){j[i]  i;}for(i  0; i  4; i){//生成第i个随机数k  (int)rand() % 10;//k为下标while (j[k]  -1){k  (k  1) % 10;}random[i]  0  j[k];j[k]  -1;} }int main(void) {int dmax,dmin,diff,i,r,count;long t;char nums[4],max[4],min[4];srand((unsigned)time(t));for(count  0;count 10000;count){get_random(nums);printf(%c%c%c%c\n,nums[0],nums[1],nums[2],nums[3]);for(i0;i7;i){m(nums,4);dmax  nums[0]*1000  nums[1]*100nums[2]*10nums[3];n(nums,4);dmin  nums[0]*1000  nums[1]*100nums[2]*10nums[3];diff  dmax - dmin;diff  j2(diff);if(diff  6174){printf(find 6174 %d\n,count);break;}if(i  6  diff ! 6174)goto error;nums[0]  diff/1000;nums[1]  diff%1000/100;nums[2]  diff%1000%100/10;nums[3]  diff%10;}}getchar();return (0);error:printf(Cant find 6174 %d\n,count);getchar();return (0);  }  我在代码里面测试了 10000 次数据意思就是我输入10000个不同的数据来测试是不是结果都是6174结果确实是这样。代码输出因为输出比较多我只截取了最后的一些find 6174 9985 9802 find 6174 9986 5908 find 6174 9987 3127 find 6174 9988 9124 find 6174 9989 5027 find 6174 9990 5304 find 6174 9991 7864 find 6174 9992 8213 find 6174 9993 4795 find 6174 9994 0184 find 6174 9995 2410 find 6174 9996 2134 find 6174 9997 5340 find 6174 9998 3294 find 6174 9999 2、有个读友提供的代码基本思路都差不多而且里面用到的排序思路都是一样的。#include stdio.hint getMax(int byte[]){int max;for(int i0;i3;i){for(int ji1;j4;j){if(byte[i]byte[j]){int tbyte[i];byte[i]  byte[j];byte[j]  t;}}}// printf( sort byte is  %d  %d  %d  %d\n,byte[0],byte[1],byte[2],byte[3]);// printf(\n); max  byte[0]*1000byte[1]*100byte[2]*10byte[3];return max; }int getMin(int byte[]){int min;for(int i0;i3;i){for(int ji1;j4;j){if(byte[i]byte[j]){int tbyte[i];byte[i]  byte[j];byte[j]  t;}}}// printf( sort byte is  %d  %d  %d  %d\n,byte[0],byte[1],byte[2],byte[3]);// printf(\n); min  byte[0]*1000byte[1]*100byte[2]*10byte[3];return min;  }int main(){int a  0;printf(input the num :\n);int max;int min;scanf(%d,a);for(int i0;i7;i){printf(the num:%d\n,a);if(a10){aa*1000;}else if(a100){a  a*100;}else if(a1000){aa*10;}printf(deal num:%d\n,a);int byte[4]{0};byte[0]a/1000;byte[1]a/100%10;byte[2]  a/10%10;byte[3]  a%10;// printf(\n); // printf(byte is  %d  %d  %d  %d\n,byte[0],byte[1],byte[2],byte[3]);if(a  6174){printf(bingo!!!\n);break;}max  getMax(byte);min  getMin(byte);printf(the max:%d\n,max);printf(the min:%d\n,min);amax-min;}return 0; } 代码运行输出weiqifabsp-ubuntu1804:~/c$ gcc 6174.c  ./a.out input the num : 1234 the num:1234 deal num:1234 the max:4321 the min:1234 the num:3087 deal num:3087 the max:8730 the min:378 the num:8352 deal num:8352 the max:8532 the min:2358 the num:6174 deal num:6174 bingo!!! weiqifabsp-ubuntu1804:~/c$ 附图1推荐阅读专辑|Linux文章汇总专辑|程序人生专辑|C语言我的知识小密圈
http://www.pierceye.com/news/994414/

相关文章:

  • cms网站访问人数wordpress 修改网址
  • 万州网站推广1688拿货网
  • 西部数码做网站企业建设官方网站的目的
  • 做什么网站小程序网站开发怎么样
  • 西安建设网站电话号码上海公司查询官网
  • 空间除了可以做网站还能干什么北京王府井在哪个区
  • 网站的下载二维码怎么做网站地图 模板
  • 网站建设必要性阳江房产网0662
  • 南阳网站推广优化公司哪家好企业网站免费
  • jsp与asp做的网站网页微信登录不了
  • 网站开发登录要做哪些验证wordpress如何修改电子邮箱
  • 网站空间租用合同wordpress更改主题名称
  • 宁波网站推广找哪家wordpress 搜索标签
  • 购物网站建设特色沈阳公司网站制作
  • seo网站编辑是做什么的微博seo排名优化
  • 南通网站建设方案托管关键词优化排名首页
  • 哈尔滨全员核酸检测福建整站优化
  • 电子商务网站建设汉狮辽宁移动网站
  • 厂西建设厅网站网站流量依赖率
  • 手机能看的网站企业网站开发市场
  • 企业建设网站的过程世界各大网站搜索引擎提交入口
  • 网站建设云南做静态网站成本
  • 超低价的锦州网站建设网站开发有哪些软件有哪些
  • 中英文网站后台photoshop做网站
  • 优秀网站开发公司软件开发工具与环境实践报告
  • 茂名网站开发网站关键词优化步骤
  • 介绍家乡的网站怎么做天眼查企业查询公司
  • 公司网站建设代理一般做多久苏州关键词优化企业
  • 北京网站网站建设vps做网站怎么加速
  • 销售网站怎么做一个公司可以做多少网站