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

Vijos p1772 巧妙填数

描述
将1,2,⋯,9共99个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例。
试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。

格式
输入格式
无输入。

输出格式
需要输出全部结果。每行输出3个数 用空格隔开。按照字典序的顺序输出。

来源
NOIP 1998 普及组 第一题

 

 

思路:

 

代码:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 
 5 int isSuitable(int);
 6 int getFirst(int);
 7 int getMid(int);
 8 int getEnd(int);
 9 
10 int main() {
11     int i;
12     for (i=100;i<334;i++) {
13         if (isSuitable(i)) {
14             printf ("%d %d %d\n",i,i*2,i*3);    
15         }    
16     }
17     system("pause");
18     return 0;
19 }
20 
21 int isSuitable(int a) {
22     int b,c,i;
23     int t[10];
24     memset (t,0,sizeof(t));
25     b=a*2;
26     if (b>999) return 0;
27     c=a*3;
28     if (c>999) return 0;
29     t[getFirst(a)]++;
30     t[getMid(a)]++;
31     t[getEnd(a)]++;
32     t[getFirst(b)]++;
33     t[getMid(b)]++;
34     t[getEnd(b)]++;
35     t[getFirst(c)]++;
36     t[getMid(c)]++;
37     t[getEnd(c)]++;
38     for (i=1;i<10;i++) {
39         if (t[i]==0) return 0;    
40     }    
41     return 1;
42 }
43 
44 int getFirst(int x) {
45     return x / 100;    
46 }
47 
48 int getMid(int x) {
49     x -= 100*getFirst(x);
50     return x / 10;    
51 }
52 
53 int getEnd(int x) {
54     return x - 100*getFirst(x) - 10*getMid(x);
55 }

 

转载于:https://www.cnblogs.com/yachen2018/p/8476313.html

相关文章:

  • js 中的call apply
  • 对RESTfull的初见理解
  • 微信小程序开发01
  • 敏捷软件开发:原则、模式与实践
  • Linux chown问题分享
  • 【转载】Git,Github和Gitlab简介和基本使用Gitlab安装和使用
  • 面试中自己项目和你应该问的问题环节总结
  • AMR文件结构
  • python基础(14)-反射类的内置函数
  • 「模板」 FHQ_Treap
  • Centos7安装Oracle12c
  • C#下载文件,Stream 和 byte[] 之间的转换
  • 机器学习十一-特征选择与稀疏学习
  • LoadRunner11录制时不能弹出IE浏览器
  • Swift4.0复习访问控制与作用域
  • C++类的相互关联
  • ComponentOne 2017 V2版本正式发布
  • HTML5新特性总结
  • iOS 系统授权开发
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java编程基础24——递归练习
  • k个最大的数及变种小结
  • spring学习第二天
  • Zsh 开发指南(第十四篇 文件读写)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 京东美团研发面经
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 浏览器缓存机制分析
  • 入门到放弃node系列之Hello Word篇
  • 手机端车牌号码键盘的vue组件
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • Prometheus VS InfluxDB
  • $(function(){})与(function($){....})(jQuery)的区别
  • $NOIp2018$劝退记
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (2)Java 简介
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (七)Java对象在Hibernate持久化层的状态
  • (一)SpringBoot3---尚硅谷总结
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • **PHP二维数组遍历时同时赋值
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET Standard 的管理策略
  • .net流程开发平台的一些难点(1)
  • .NET企业级应用架构设计系列之技术选型
  • /bin/bash^M: bad interpreter: No such file or directory
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作