三连击

Posted litifeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三连击相关的知识,希望对你有一定的参考价值。

题目描述

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

例如:192 384 576

解法1:用字符串解决

#include <cstdio>
using namespace std;
int main(){
    for (int i=123;i<=333;i++){
        char a[4],b[4],c[4];//字符串结束符占用一个字符空间
        sprintf(a,"%d",i);//将int转换为char
        sprintf(b,"%d",i*2);
        sprintf(c,"%d",i*3);
        bool num[10] = {0};
        num[a[0]-48] = true;//ascii码中,0-9对应48-57
        num[a[1]-48] = true;
        num[a[2]-48] = true;
        num[b[0]-48] = true;
        num[b[1]-48] = true;
        num[b[2]-48] = true;
        num[c[0]-48] = true;
        num[c[1]-48] = true;
        num[c[2]-48] = true;
        if (num[0]) continue;//题目要求1-9的数字,出现0即为Wrong Answer
        int count = 0;
        for (int i=0;i<10;i++) if (num[i]) count ++;
        if (count == 9){
            printf("%s %s %s
",a,b,c);
        }
    }
    return 0;
}

 

以上是关于三连击的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2D-X2.2.3学习笔记8(处理精灵单击双击和三连击事件)

三连击

欧尼酱要的女装大佬(图片三连击)

三连击

P1618 三连击(升级版)

洛谷 P1618 三连击(升级版)