本文主要是介绍【Codeforces Round #723 (Div. 2)】- I Hate 1111,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:I Hate 1111
题意:
给你一个数,问你是不是由 11,111,1111……构成,其中每一个数都可以用无限次
思路:
其实每个符合题意数都是可以由 11 和 111 这两个数
所构成。
例如:
11 = 11 * 1 + 111 * 0;
111 = 11 * 0 +111 * 1;
1111 = 11 * 101 + 111 * 0;
11111 = 11 * 1 + 111 * 100 ;
……
题目给出的样例:
33 = 11 * 3 + 111 * 0;
144 = 11 * 3 + 111 * 1;
以上只是列举了每一个数的一种情况,由此看来可以得出每一个 数 x 只要符合: a * 11 + b * 111 = x
时,就可以输出YES,否则就输出NO
代码:
#include <map>
#include <queue>
#include <stack>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>using namespace std;const int N = 1e6,INF=0x3f3f3f3f;
typedef long long ll;int main()
{int t;scanf("%d",&t);while(t--){int a,flag=0;scanf("%d",&a);for(int i=0;i*111<=a;i++){//首先枚举 111 的个数,之后再对 11 取余if((a-i*111)%11==0){printf("YES\n");flag=1;break;}}if(!flag)printf("NO\n");}return 0;
}
这篇关于【Codeforces Round #723 (Div. 2)】- I Hate 1111的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!