• C-7-教417--签到题(枚举)


    题目链接:http://acm.csust.edu.cn/problem/3025

    Description

     

    咚咚咚!在安静的7教417夜晚,车神带来了一堆神秘的数字。

    417的小伙伴都只钟爱于包含4和7的数字。

    例如数字:747,4,7747,4,7是他们钟爱的数字,而476,5,27476,5,27不是。

    车神灵机一动,突然问:对于给定的数字n,能否找出各个数位上数字和为n的最小钟爱数字。

    如果找到则输出这个最小数, 如果找不到,则输出“YingYingYing”。

    Input

     

    一行,一个整数n(1n1e6)代表要求车牌号的各个数位上数字的和

    Output

     

    输出仅一行,为满足条件的最小车牌号,如果不存在这个车牌号就输出“YingYingYing”。

    Sample Input 1 

    11

    Sample Output 1

    47

    Sample Input 2 

    10

    Sample Output 2

    YingYingYing


    很简单地模拟一下即可,要求输出最小的数字,那么也就是说当7最多的时候该数字最小(长度短)。

    我们直接n/7就可以知道最多可以放几个7了,然后往下筛选符合条件的,即扣掉x个7后的余值模4为0。最后把所有4放在前面,7放在后面。

    以下是AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n;
        scanf ("%d",&n);
        int four,seven,mark=0;
        seven=n/7;
        for (int i=seven; i>=0; i--){
            if ((n-7*i)%4==0) {
                four=(n-7*i)/4;
                mark=1;
                seven=i;break;
            }
        }
        if (!mark) printf ("YingYingYing
    ");
        else {
            for (int i=1; i<=four; i++)
                printf ("4");
            for (int i=1; i<=seven; i++)
                printf ("7");
            printf ("
    ");
        }
        
        return 0;
    }
    路漫漫兮
  • 相关阅读:
    用js遍历生成数独可行数据(未优化版本)
    JS生成tips小工具
    Iframe使用
    二级指针作输入的三种内存模型
    货品的进出库模型
    约瑟夫问题
    vector
    CUDA并行简单加法
    第一个CUDA程序
    在Ubuntu下安装、配置和测试cuda[复制]
  • 原文地址:https://www.cnblogs.com/lonely-wind-/p/12003710.html
Copyright © 2020-2023  润新知