当前位置: 首页 > 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.zqtcl.cn/news/994414/

相关文章:

  • 自己做的创意的网站什么是淘宝seo
  • 网站开发包含哪些网站设计实例
  • 网站建设 核算棋牌源码论坛
  • 杭州网站建设案例网页设计程序
  • 网站建设的相关问题湛江网站开发
  • 网站开发作业wordpress用户角色
  • 品牌网站制作建设微信小程序开发需要什么技术
  • 新网站注册国内食品行业网站开发
  • 太原微商网站建设网站里面的视频功能怎么做的
  • 绿色做环保网站的好处网易企业邮箱登录登录入口
  • 卯兔科技网站建设网站验收时项目建设总结报告
  • 触摸网站手机wordpress建立模板下载
  • 做暧在线观看网站网站建设与管理工资
  • 横岗网站建设无锡网站seo外包
  • 房管局 网站做房查学做网站推广要多久时间
  • 电脑网站开发者模式田园综合体建设网站
  • 南宁广告公司网站建设自适应网站建设模板
  • 做北京电梯招标的网站衡阳县专业做淘宝网站
  • 建设网站的语言wordpress主题自定义添加后台设置
  • 制造动漫网站开发目的四川酒店网站建设
  • 中国城市建设研究院深圳分院网站广西圣泰建设工程有限公司网站
  • 网站建设的方法有哪些内容wordpress展示插件
  • 北京手机网站制作公司wordpress 简易教程
  • 手机网站建站公司有哪些搜索引擎收录
  • 仿同程网 连锁酒店 网站模板学校网站建设用哪个系统
  • 教做甜品的网站删除wordpress主题字体载入
  • 做酒店网站所用到的算法wordpress侧栏导航
  • 做漫画的网站有哪些信息门户网站怎么做
  • 九江集团网站建设公司信誉好的广州做网站
  • 福州网站建设服务平台今天发生的重大新闻