zoukankan      html  css  js  c++  java
  • 洛谷P1008 三连击

    题目背景

    本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

    题目描述

    将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。

    输入输出格式

    输入格式:

    木有输入

    输出格式:

    若干行,每行3个数字。按照每行第一个数字升序排列。

    输入输出样例


    输入样例#1:


    输出样例#1:

    192 384 576
    * * *
    ...
    * * *
    (输出被和谐了)


    WriteUp:

    数组记录数字出现次数,循环遍历可能的出现数字即可。

    ps: 洛谷评测机似乎不支持初始化数组采用memset的方法,会编译错误。。。


    参考AC代码:

    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    
    using namespace std;
    
    int num[9]={0};
    
    int main(void){
    	int j,k;
    	for (int i=123;i*3<=987;i++)
    	{
    
    		//数组置0
    
    		for (int b=0;b<9;b++)
    		{
    			num[b]=0;
    		}
    
    		//取i的各个位数字,放入数组记录次数
    
    		num[i/100-1]++;
    		num[i/10%10-1]++;
    		num[i%10-1]++;
    
    		//取j的各个位数字,放入数组记录次数
    
    		j = i*2;
    		num[j/100-1]++;
    		num[j/10%10-1]++;
    		num[j%10-1]++;
    
    		//取k的各个位数字,放入数组记录次数
    
    		k = i*3;
    		num[k/100-1]++;
    		num[k/10%10-1]++;
    		num[k%10-1]++;
    		for (int a=0;a<9;a++)
    		{
    
    			//次数不为1,不符题意,跳过
    
    			if (num[a]!=1)
    			{
    				break;
    			}
    
    			//数组检查完毕,输出
    
    			if (a==8)
    			{
    				printf("%d %d %d
    ",i,j,k);
    			}
    		}
    	}
    		
    	return 0;
    }


  • 相关阅读:
    项目冲刺之任务场景分析
    一位数组的最大子数组(debug版)
    软件工程课堂五(地铁项目的优化)
    人月神话阅读笔记02
    软件工程第七周总结
    人月神话阅读笔记01
    软件工程第六周总结
    构建之法阅读笔记03
    软件工程第五周总结
    软件工程课堂四(合作开发项目-地铁线路查询)
  • 原文地址:https://www.cnblogs.com/csnd/p/12897088.html
Copyright © 2011-2022 走看看