码迷,mamicode.com
首页 > 其他好文 > 详细

三连击

时间:2019-02-15 15:57:19      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:wrong   描述   ==   math   UNC   sci   一个   ase   char   

题目描述

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\n",a,b,c);
        }
    }
    return 0;
}

 

三连击

标签:wrong   描述   ==   math   UNC   sci   一个   ase   char   

原文地址:https://www.cnblogs.com/litifeng/p/10383743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!