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

成都哪家做网站好长沙网站建设排名

成都哪家做网站好,长沙网站建设排名,北京标识设计制作公司,四川省住房和建设厅官方网站一个N位的十进制正整数#xff0c;如果它的每个位上的数字的N次方的和等于这个数本身#xff0c;则称其为花朵数。 例如#xff1a; 当N3时#xff0c;153就满足条件#xff0c;因为 1^3 5^3 3^3 153#xff0c;这样的数字也被称为水仙花数#xff08;其中#xff0… 一个N位的十进制正整数如果它的每个位上的数字的N次方的和等于这个数本身则称其为花朵数。 例如 当N3时153就满足条件因为 1^3 5^3 3^3 153这样的数字也被称为水仙花数其中“^”表示乘方5^3表示5的3次方也就是立方。 当N4时1634满足条件因为 1^4 6^4 3^4 4^4 1634。 当N5时92727满足条件。 实际上对N的每个取值可能有多个数字满足条件。 程序的任务是求N21时所有满足条件的花朵数。注意这个整数有21位它的各个位数字的21次方之和正好等于这个数本身。 如果满足条件的数字不只有一个请从小到大输出所有符合条件的数字每个数字占一行。因为这个数字很大请注意解法时间上的可行性。 优化不管一个数是多少位它都是由0~9这10个数字组成所以我们可以先分别求出这10个数的各自的21次方            又因为10个9的21次方之和超过了21位数所以从9个9,12个8开始一次往下运算即可 这个题意我是看懂了上网百度了一下别人的代码但是有三处我看不懂。 #include iostream #include stdio.h #includetime.h #include string.h using namespace std; int A[10][21],count[100][21],cnt0; void Get()//将0-9这10个数的每个数的21次方存入A数组 {     memset(A,0,sizeof(A));     for(int k0; k10; k) //一共有10个数     {         A[k][20]1;  //因为是乘法所以每个数的底数设为1         int sum0;         for(int i1; i21; i) //21次方         {             for(int j20; j0; j--)             {                 sumsumA[k][j]*k;                 A[k][j]sum%10;                 sumsum/10;             }         }     } } void Cal() {     int B[21]; //b[N]存从99……99到100……00之间的数 初始化为9个9后面全是8,因为10个9的21次方之和将超过21位数     for(int i0; i9; i)  B[i]9;     for(int i9; i21; i) B[i]8;     while(B[0]!0)     {         int flag1;         int sum[21] {0},sort[21] {0},E[10] {0};         for(int i0; i21; i) //求B中21个数的21次方之和         {             int temp0;             for(int j20; j0; j--)             {                 temptempA[B[i]][j]sum[j];                 sum[j]temp%10;                 temptemp/10;                 if(j0temp0)                 {                     flag0;                     break;//位数超过21位舍弃                 }             }             if(flag0)break;         }         if(sum[0]0) flag0;//位数不够21位舍弃         if(flag1)//位数正好21位看看两个数是不是相等         {             for(int i0; i21; i)                          E[sum[i]];     //统计sum中分别有几个0到9 存到E[N]中             for(int i9,x0; i0; i--)                 for(int j0; jE[i]; j)                     sort[x]i;             //比较二者是否相等             for(int i0; i21; i)             {                 if(B[i]!sort[i])  //难处1这个B不应该跟sum比较吗关sort什么事                 {                     flag0;                     break;                 }             }         }         if(flag1)//两个数相等就存起来         {             for(int j0; j21; j)                 count[cnt][j]sum[j];//若这个地方换成了count[cnt][j]B[j]那结果直接就不对根据题意B应该跟sum是一样的             cnt;         }         //找下一个B[N]  找下一个B的找法我是一点都不理解啊         int i;         for(i20; i0; i--)             if(B[i]!0)                 break;         int tempB[i];         while(i21)         {             B[i]temp-1; //保证去掉重复的数  并按从大到小顺序 进行处理尤其是这个地方直接不懂怎么去的重复的数         }     }     for(int icnt-1; i0; i--)     {         for(int j0; j21; j)             coutcount[i][j];         coutendl;     } } int main() {     Get();     Cal();     printf(\n程序运行了%.2lf秒\n,(double)clock()/CLOCKS_PER_SEC);//只是为了测试一下程序运行的时间     return 0; } 转载于:https://www.cnblogs.com/MisdomTianYa/p/6581808.html
http://www.zqtcl.cn/news/125140/

相关文章:

  • 移动网站制作公司如何开公司做网站
  • 网站建设 青海试题wordpress的特点
  • 源码如何做网站宽甸县建设局网站
  • 用dw做的网页怎么连到网站上企业网站备案资料填写单
  • 中文 网站模板企业怎么建设网站
  • 建设户外腰包网站哪个网站注册域名好
  • 六安网站建设价格小学生编程网课前十名
  • 绵阳网站建设信赖辉煌wordpress多账号权限
  • 网站外链快速建设网站维护要学多久
  • 做网站都是用ps吗郑州网站设计培训
  • wordpress 多站点教程厦门做网站维护的公司
  • 婚纱网站建设需求分析wordpress js图片
  • seo网站怎么优化有哪些企业网站平台
  • 响应式中文网站欣赏wordpress 带分页的主题
  • 什么样的网站可以做站内站房地产的设计网站建设
  • 成都住房和城乡建设局 网站首页深圳西乡建网站
  • 商城类的网站一般怎么做开发app软件的步骤
  • 招聘网站做销售怎么样做网站后台学什么专业
  • 帮别人做彩票网站餐饮网站建设需求分析
  • 企业服务平台工程建设云深圳网站建设专业乐云seo
  • 怎么建立小公司网站抖音运营推广
  • 无锡地区做网站嵌入式软硬件开发
  • 网站建设框架怎么写企业网站本身应该就是企业( )的一部分
  • 如果做公司网站WordPress出现归档
  • 温州开发网站公司阿里云 拦截网站
  • 网站建设与管理实践实践报告南宁小程序建设
  • 网站后台功能技术要求网站建设 手机和pc
  • 嘉兴住房和城乡建设厅网站仿网站被封怎么办
  • 设计君seo查询怎么查
  • 购物网站ppt怎么做网站建设的申请理由