|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Zongminxie 于 2018-11-1 22:48 编辑
任意给定一个自然数N,可以找出这样一个相应的M值,要求M是N的倍数,
且它的所有各位数字都是由0或1组成,并要求M尽可能小。
输出符合题目描述的M值。如果没有符合要求的数,输出“NONE”
我的代码 系统说超过时间限制,请大神提点。
- #include<stdio.h>
- #include<math.h>
- void f();
- int main()
- {
- f();
- return 0;
- }
- void f()
- {
- int n;
- int m = 0;
- scanf_s("%d", &n);
- if (n >= 2 && n <= 100)
- {
- int a, c, i, j;
- for (i = 0, a = 0; m += n; i++)
- {
- if (a > m)
- {
- printf("NONE");
- break;
- }
- a = m;
- for (j = 0; a != 0; j++)
- {
- a = a /10;
- }
- for (a = m; j != 0; j--)
- {
- c = a / pow(10, j - 1);
- if (c != 0 && c != 1)
- break;
- a = a - c * pow(10, j - 1);
- }
- if (j == 0)
- {
- printf("%d\n", m);
- break;
- }
- }
- }
- else
- printf("NONE");
- }
复制代码 |
|