#把一个数把各个位数拆取出来
例题:用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;}
}
#把一个数把各个位数拆取出来相关推荐
- java 取一个数的各个位数
java 取一个数的各个位数 第一种方法: int qian =input/1000; //千位除以1000int bai = input/100%10;//百位除以100%10int shi = i ...
- 编写一个Java应用程序。用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223
编写一个Java应用程序.用户从键盘输入一个1-99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数.回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121.3223 ...
- 【Kattis - triangle 】Sierpiński Circumference(数学,求位数,取对数或Java)
题干: Polish mathematician Wacław Sierpiński (1882-1969) described the 2D geometric figure known as th ...
- 对求一个数的各个位数的理解
题目:求一个数各个位数之和: 思路:用户输入一个数,定义一个sum求和,先求他的个位求和存入sum,原数除以10,放入循环: 代码实现: package Practice;import java.ut ...
- python统计奇数和偶数的个数_Python 统计位数为偶数的数字的代码
问题描述 给出一个整数数组 nums,请返回其中位数为偶数的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 34 ...
- python统计奇数和偶数的个数_Python 统计位数为偶数的数字代码详解
问题描述 给出一个整数数组 nums,请返回其中位数为偶数的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 34 ...
- 求一个数是几位数,并求每位数相加的和
//徐召阳 20163419 信1605-3 import java.util.ArrayList; import java.util.Scanner; public class Zhengshu { ...
- 实训汇编语言设计——16位数拆分为4组
练习实训:AX中16位数分为4组(1234分为1,2,3,4),每组4位分别放在AL,BL,CL,DL 答: data segment data ends cseg segment assume cs ...
- php fmod小数位数_PHP取余函数介绍MOD(x,y)与x%y
取余函数 PHP取余函数 PHP两个取余 MOD(x,y) x%y MOD 例如:9/3,9是被除数,3为除数.mod函数是一个求余函数,其格式为: mod(nExp1,nExp2),即是两个数值表达 ...
最新文章
- 2021年大数据Flink(十五):流批一体API Connectors ​​​​​​​Kafka
- libcareplus应用于Qemu-6.1.0
- 灵芝蘑菇提取物行业调研报告 - 市场现状分析与发展前景预测
- POJ3461 【KMP(粗糙模板)】
- 跟着锅子一步步学习32位汇编(1)---第一个汇编程序
- 超炫酷生日快乐网页源代码_最炫表白网站源码_html生日快乐网站制作
- FMCW激光雷达原理推导公式
- 计算机组成原理选择题题库
- arduino IED2.0实现Serial.println打印结果
- python3绘制皮卡丘
- execl()函数与execlp()函数
- Opencv 实现 运动模糊的添加(motion blur)与消除(demotion blur)
- 怎么压缩图片200k以下?这个压缩工具,3秒无损完成
- 多通道声源定位方法之GCC-PHAT:原理及matlab实现
- 什么叫做专用的IP地址?
- rangenet_lib tensorRT8.** ubuntu20.04 suma++
- 典型工业数据分析场景解读:机械设备振动监测和故障诊断
- Centos7下安装Sentry22.1.0,接入LDAP
- 武林外传电影版java,武林外传经典台词
- 计算机网络原理笔记 第三章 数据链路层(一)