C语言-将1到9这九个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3。问应当怎样分,编写程序实现。
来源:互联网 发布:淘宝钻展怎么弄啊 编辑:程序博客网 时间:2024/06/06 16:51
思路:
首先分析题目,设第一个数为m,则第二个数为2m,第三个数为3m;
定义一个大小为9的int型全局数组,将各个数的各位依次输入数组,每次进入一个元素,就与前面的数组元素进行比对,若相同,则说明此时的m不满足条件。下界为123,上界为333,循环寻找。
#include<stdio.h>int array[9]; //存储三个三位数各个位的全局数组int OK(int m,int *array);int main(){ int m; int count=1; for(m=123;m<333;m++) { if(OK(m,array)&&OK(2*m,array+3)&&OK(3*m,array+6)) //第二个数从array[3]开始存,第三个数从array[6]开始存。 { printf("#%d:%d %d %d\n",count,m,2*m,3*m); count++; } } return 0;}int OK(int number,int *curPtr) // 判断number这个数中各个位上的数字在之前是否出现过,curPtr是指向该数字开始存储的位置{ int *i,*j; for(i=curPtr;i<curPtr+3;i++) { *i=number%10; number/=10; if((*i)==0)return 0; //判断输入的数字是否为0,为0则必不满足,返回0 for(j=array;j<i;j++) { if((*i)==(*j))return 0; //只要输入的数字和前面某一个数字相同,则不满足 } } return 1;}
阅读全文
0 0
- C语言-将1到9这九个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3。问应当怎样分,编写程序实现。
- 1-9这9个数字划分成三个3位数,第一个分别是第二、三个的2倍,3倍,用程序划分
- Snail—1-9这9个数字划分成三个3位数,第一个分别是第二、三个的2倍,3倍
- 1~9分成1:2:3的三个3位数
- 【练习题】有 3 个回文数字,第一个是两位数,第二个是三位数。将这两个数字相加得到第三个数字,这是个四位数。请问第三个数字是多少?
- /*算法从9个数中取出3个3位数其中两个3位数相加等于另一个3位数其中每位数字不能重复,c语言怎么实现*/
- Set集合解决年龄问题:年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,
- 1-9九个数字组成一个九位数 如果从左边起取出1个数字,需要能被1整除,取出两个数字组成的数能被2整除,取出三个数字组成的数能被3整除,依次类推
- 60 1-9分成1:2:3的三个3位数
- (百例编程)60.1~9分成1:2:3的三个3位数
- c语言---一个数x中值为1的位数(3个版本)
- HashSet只是比较是否相同;年龄的立方是4位数,4次方是6位数这10个数字正好包含了一次0到9这10个数
- 由1到9的9个数组成3个3位数,且三个数成1:2:3的比例,试求出所有的组合
- 神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
- 神秘的三位数 有这样一个3位数,组成它的3个数字阶乘之和正好等于它本身。即:abc = a! + b! + c!
- 用O(nlgk)时间查找k分位数(所谓k分位数:将n个元素分成k个大小相等的集合的k-1个顺序统计量)
- C---某人岁数的3次方是四位数,4次方是六位数,且知此人岁数的3次方和4次方用遍了0~9十个数字。编写一个程序求此人的岁数
- java面试题 用1,2,2,3,4,5六个数字,组成一个6位数。 第三位数不能是2;3和5不能相邻。
- H5页面开发,元素使用心得技巧
- 函数的默认参数
- 动归----相似基因
- Android item长按删除
- Python工具类
- C语言-将1到9这九个数字分成三个3位数,要求第一个3位数,正好是第二个3位数的1/2,是第三个3位数的1/3。问应当怎样分,编写程序实现。
- c# sspi authentication
- 基于Lua的游戏服务端框架简介
- 02 JS-DOM之--js的加载和window onload
- angular2 form
- 自定义c++线程池
- /Proc/详解
- Quartus II的使用方法:以暑期硬件作业为例
- 进度条(shell)