MT1253 区间自除数
(1)题目
自除数是可以被它包含的每一位数除尽的数。例如128,可以被1,2和8整除。自除数位数中不包含0。输入整数区间,输出区间(含边界)内所有的自除数。不考虑0,负数或者其他特殊情况。
格式
输入格式: 输入为整型,空格分隔 输出格式: 输入出整型,空格分隔
样例1
输入格式: 1 19 输出格式: 1 2 3 4 5 6 7 8 9 11 12 15
(2)参考代码
#include<stdio.h> int main() { int a, b, temp, flag; scanf("%d %d", &a, &b); for (int i=a;i<=b;i++) { temp = i; flag = 1; while (temp) { if (temp % 10 == 0 || i % (temp % 10) != 0) { flag = 0; break; } temp /= 10; } if (flag == 1) { printf("%d ", i); } } return 0; }
MT1254 最大自除数
(1)题目
自除数是可以被它包含的每一位数除尽的数。例如128,因为可以被1,2 和8整除。自除数不包含 0。输入整数区间,输出区间(含边界)内最大自除数。不考虑0,负数或者其他特殊情况。
格式
输入格式: 输入为整型,空格分隔 输出格式: 输出为整型
样例1
输入: 1 20 输出: 15
(2)参考代码
#include<stdio.h> int main() { int a, b, temp, flag; scanf("%d %d", &a, &b); for (int i=b;i>=a;i--) { temp = i; flag = 1; while (temp) { if (temp % 10 == 0 || i % (temp % 10) != 0) { flag = 0; break; } temp /= 10; } if (flag == 1) { printf("%d ", i); break; } } return 0; }
MT1255 最小自除数
(1)题目
自除数是可以被它包含的每一位数除尽的数。例如128,因为可以被1,2 和8整除。自除数不包含 0。输入整数区间,输出区间(含边界)内最小自除数。不考虑0,负数或者其他特殊情况。
格式
输入格式: 输入为整型,空格分隔 输出格式: 输出为整型
样例1
输入: 10 21 输出: 11
(2)参考代码
#include<stdio.h> int main() { int a, b, temp, flag; scanf("%d %d", &a, &b); for (int i=a;i<=b;i++) { temp = i; flag = 1; while (temp) { if (temp % 10 == 0) { flag = 0; break; } if ((i % (temp % 10)) != 0) { flag = 0; } temp /= 10; } if (flag == 1) { printf("%d\n", i); break; } } return 0; }
MT1256 最小数
(1)题目
给定两个整数N和M。找出可被M整除的最小数K(大于N),输出K,最小列宽为3。
格式
输入格式: 输入正整数N和M 输出格式: 输出整型
样例1
输入: 25 13 输出: 26
备注
本题中,K<10000
(2)参考代码
#include<stdio.h> int main() { int N, M; scanf("%d %d", &N, &M); for (int i=N+1;;i++) { if (i % M == 0) { printf("%3d", i); break; } } return 0; }
MT1257 被3整除的五位数
(1)题目
统计个位是5但能被3整除的五位数有多少个,输出结果。
格式
输入格式: 无 输出格式: 输出整型
样例1
输入: 无 输出: 3000
(2)参考代码
#include<stdio.h> int main() { int x = 3; int count = 0; for (int i = 10000;i<=99999;i++) { if (i % x == 0 && i % 10 == 5) { count++; } } printf("%d\n", count); return 0; }
MT1258 特殊整数
(1)题目
输入正整数m和n,找到包含m但不能被m整除的n位整数,统计这样的n位整数有多少个。本题不考虑不合理的输入或者溢出等特殊情况。
格式
输入格式: 输入整型,空格分隔。 输出格式: 输出整型
样例1
输入格式: 7 5 输出格式: 32152
(2)参考代码
#include<stdio.h> #include<math.h> int main() { int m, n, temp, flag, count = 0; scanf("%d %d", &m, &n); int num = pow(10.0, (double)n); for (int i=num/10;i<=num-1;i++) { temp = i; flag = 0; while (temp) { if (temp % 10 == m) { flag = 1; break; } temp /= 10; } if (flag == 1 && i % m != 0) { count++; } } printf("%d", count); return 0; }
MT1259 统计哈沙德数
(1)题目
如果一个数字可被其数字之和整除,则称该数字为哈沙德数,输入一个大于9的正整数N,判断统计10到N之间(包含N)有多少个哈沙德数,输出结果。
格式
输入格式: 输入整型 输出格式: 输出整型
样例1
输入格式: 30 输出格式: 8
(2)参考代码
#include<stdio.h> int main() { int N, temp, sum, count = 0; scanf("%d", &N); for (int i=10;i<=N;i++) { temp = i; sum = 0; while (temp) { sum += temp % 10; temp /= 10; } if (i % sum == 0) { count++; } } printf("%d", count); return 0; }
MT1260 袋鼠躲猫猫
(1)题目
两只袋鼠在一个总长L米的圆环上躲猫猫。假定环上某一点为坐标原点0,袋鼠宝宝的出发坐标是x,袋鼠妈妈出发坐标是y,单位是米,宝宝一小时能跳a次,妈妈一小时跳b次,假定他们每一跳的距离都是1米,求多少小时后宝宝和妈妈才能见面。如果无法见面则输出-1。x,y, a,b,L都属于正常int范围。“见面”以每小时结束时刻,两只袋鼠的落点相同为准。
格式
输入格式: 输入5个正整数x,y, a,b,L,空格分隔。其中x不等于y。 输出格式: 输出整型
样例1
输入格式: 1 2 3 4 5 输出格式: 4
(2)参考代码
#include<stdio.h> int main() { int x, y, a, b, l, time = 1; scanf("%d %d %d %d %d", &x, &y, &a, &b, &l); if (a == b) { printf("-1"); return 0; } while ((x + a) % l != (y + b) % l) { x = (x + a) % l; y = (y + b) % l; time++; } printf("%d", time); return 0; }