题解:ABC319B - Measure

题解:ABC319B - Measure

·题目

链接:Atcoder。

链接:洛谷。

·难度

算法难度:C。

思维难度:C。

调码难度:C。

综合评价:入门。

·算法

模拟。

·思路

遍历字符串的每一位,从1至9一次遍历,若有至少一个满足要求就输出最小的,否则输出-。

·代价

O(n)。

·细节

注意判断条件是&不是|。

·代码

#include
using namespace std;
int n=0;
int main(){
    scanf("%d",&n);
    for(int i=0;i<=n;i++){
        //遍历每一位
        bool flag=false;
        //记录是否存在至少一个数合法
        for(int j=1;j<=9;j++){
            //遍历每一个可能选择的数
            if(n%j==0&&i%(n/j)==0){
                printf("%d",j);
                //第一个满足条件的就是最小的
                flag=true;
                //记录已找到
                break;
            }
        }
        if(flag==false){
            printf("-");
            //若仍未找到输出-
        }
    }
    return 0;
}

·注意

打卡。

你可能感兴趣的:(算法,c++,数据结构)