例题:用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。

几点新知识(可能与题无关):

("%*.*f",m,n,x)//m->第一个*要取的整数位数;n->第二个*要取的小数位数,x->期望输入的数
int arr[n]
memset(arr,0,sizeof(n))//把arr[n]数组中的数字全部设为0
memcpy(b,a,sizeof(a))//把数组a全部复制到数组b中
if(x)//等效于if(x!=0)
if(!x)//等效于if(x==0)
#include<iostream>
#include<string.h>
using namespace std;
int main()
{for(int abc=123;abc<329;abc++){int def=2*abc;int ghi=3*abc;int arr[11];memset(arr,0,sizeof(arr));unsigned int total=abc*1e6+def*1e3+ghi;int i;for(i=0;i<9;i++){unsigned int temp=total;for(int j=0;j<i;j++){temp/=10;}temp=temp%10;if(temp==0||arr[temp]) break;else{arr[temp]=temp;}if(i==8){printf("%d %d %d\n",abc,def,ghi);}}}return 0;
}

接下来是对于例题的一个核心算法——即把一个数各个位数的数拆出来:

for(int i=0;i<9;i++)
{unsigned int temp=total;for(int j=0;j<i;j++){temp/=10;//依次除以10^i倍}temp%10;//得到最后该i位的数if(!temp||arr[temp]) break;//如果有0渗入或者如果一个数组用了2遍就跳出,因为初始化的时候每个数组都是0,所以一旦是未出现的,都是进入else语句中,出现过的就break了else{arr[temp]=temp;}
}

#把一个数把各个位数拆取出来相关推荐

  1. java 取一个数的各个位数

    java 取一个数的各个位数 第一种方法: int qian =input/1000; //千位除以1000int bai = input/100%10;//百位除以100%10int shi = i ...

  2. 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223

    编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...

  3. 【Kattis - triangle 】Sierpiński Circumference(数学,求位数,取对数或Java)

    题干: Polish mathematician Wacław Sierpiński (1882-1969) described the 2D geometric figure known as th ...

  4. 对求一个数的各个位数的理解

    题目:求一个数各个位数之和: 思路:用户输入一个数,定义一个sum求和,先求他的个位求和存入sum,原数除以10,放入循环: 代码实现: package Practice;import java.ut ...

  5. python统计奇数和偶数的个数_Python 统计位数为偶数的数字的代码

    问题描述 给出一个整数数组 nums,请返回其中位数为偶数的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 34 ...

  6. python统计奇数和偶数的个数_Python 统计位数为偶数的数字代码详解

    问题描述 给出一个整数数组 nums,请返回其中位数为偶数的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 34 ...

  7. 求一个数是几位数,并求每位数相加的和

    //徐召阳 20163419 信1605-3 import java.util.ArrayList; import java.util.Scanner; public class Zhengshu { ...

  8. 实训汇编语言设计——16位数拆分为4组

    练习实训:AX中16位数分为4组(1234分为1,2,3,4),每组4位分别放在AL,BL,CL,DL 答: data segment data ends cseg segment assume cs ...

  9. php fmod小数位数_PHP取余函数介绍MOD(x,y)与x%y

    取余函数 PHP取余函数 PHP两个取余 MOD(x,y) x%y MOD 例如:9/3,9是被除数,3为除数.mod函数是一个求余函数,其格式为: mod(nExp1,nExp2),即是两个数值表达 ...

最新文章

  1. 2021年大数据Flink(十五):流批一体API Connectors ​​​​​​​Kafka
  2. libcareplus应用于Qemu-6.1.0
  3. 灵芝蘑菇提取物行业调研报告 - 市场现状分析与发展前景预测
  4. POJ3461 【KMP(粗糙模板)】
  5. 跟着锅子一步步学习32位汇编(1)---第一个汇编程序
  6. 超炫酷生日快乐网页源代码_最炫表白网站源码_html生日快乐网站制作
  7. FMCW激光雷达原理推导公式
  8. 计算机组成原理选择题题库
  9. arduino IED2.0实现Serial.println打印结果
  10. python3绘制皮卡丘
  11. execl()函数与execlp()函数
  12. Opencv 实现 运动模糊的添加(motion blur)与消除(demotion blur)
  13. 怎么压缩图片200k以下?这个压缩工具,3秒无损完成
  14. 多通道声源定位方法之GCC-PHAT:原理及matlab实现
  15. 什么叫做专用的IP地址?
  16. rangenet_lib tensorRT8.** ubuntu20.04 suma++
  17. 典型工业数据分析场景解读:机械设备振动监测和故障诊断
  18. Centos7下安装Sentry22.1.0,接入LDAP
  19. 武林外传电影版java,武林外传经典台词
  20. 计算机网络原理笔记 第三章 数据链路层(一)

热门文章

  1. 数据迁移工具之DataX
  2. python培训价目表-Python培训需要多少费用?
  3. 用机械键盘敲代码会不会更带感 ?送 9 套雷柏机械键盘
  4. 正规的伦敦金投资平台排行榜
  5. Python 理解 精灵 和 精灵组
  6. python对异常捕获的操作
  7. C语言编程>第十四周 ⑦ 请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
  8. 做一名活动策划是什么体验?
  9. 微信公众号已认证怎么改名字,公众号昵称可以改吗?
  10. 数据如何变成知识(2):数据湖和数据沼泽