栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

组数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

组数

题目描述

晨晨今天遇到一道难题,题目的意思是,从三个不同的个位数a,b,c(个位数包括0、1、2、3、4、5、6、7、8、9十个数),中任意选两个不同的数字组成两位数,可以组成多少个不同的两位数?算一算它们的和是多少?

输入

一行:三个整数 a b c   0<=a,b,c<=9。

输出

一行:空格分开的两个整数,代表组成多少个不同的二位数和它们的和是多少。

样例输入

0 1 3

样例输出

4 84

通过解析样例我们可以得知共可以组成10、13、30、31四个不同二位数,和为84

了解了其算法后便可以着手编代码了

这是一道枚举题

代码实现:

python实现:

a=list(map(int,input().split()))
t=0
for i in range(0,4):
    if a[i] == 0:
        break
    else:
        t+=t+a[i]*10*2
        if i == 1:
            t+=a[i+1]+a[i+2]
        elif i == 2:
            t+=a[i-1]+a[i-1]
        else:
            t+=a[i-1]+a[i-2]
print(t)
#麻烦了点

C++实现

#include
using namespace std;
int main(){
    int a[4] , t ;
    for ( int i = 1 ; i <= 3 ; i ++ ) 
        cin >> a[i];
        if ( a[i] != 0 )
            t += a[i] * 10 * 2;
            if ( i == 1 )
                t += a[i+1] + a[i+2];
            else if ( i == 2 )
                t += a[i-1] + a[i-1];
            else:
                t += a[i-1] + a[i-2];
    cout << t << endl ;
   return 0;
}

注意:此处代码并不一定对,因为是现场编写,未测试过,而且算法不一定对。用for会超时

所以在这里用一种新算法,因为只有3个数,所以可以用if else进行枚举

python实现:

a,b,c=map(int,input().split())
t=0
x=0
xx=0
if a==0 :
    if b!=0 :
        t+=1
        x=b*10
        xx+=x
    if c!=0 :
        t+=1
        x=c*10
        xx+=x
else:
    if b!=0:
        t+=1
        x=a*10+b
        xx+=x
    if c!=0:
        t+=1
        x=a*10+c
        xx+=x
        
if b==0 :
    if a!=0 :
        t+=1
        x=a*10
        xx+=x
    if c!=0 :
        t+=1
        x=c*10
        xx+=x
else:
    if a!=0:
        t+=1
        x=b*10+a
        xx+=x
    if c!=0:
        t+=1
        x=b*10+c
        xx+=x
        
if c==0 :
    if b!=0 :
        t+=1
        x=b*10
        xx+=x
    if a!=0 :
        t+=1
        x=a*10
        xx+=x
else:
    if b!=0:
        t+=1
        x=c*10+b
        xx+=x
    if a!=0:
        t+=1
        x=c*10+a
        xx+=x
print(t,end=' ')
print(xx)

C++实现:

时间紧张所以没编,请原谅
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384482.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号