某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。举例:可被11整除颠倒过来也可被11整除的正整数例如341,它可被11整除,颠倒过来143也可被11整除。
4条回答 默认 最新
threenewbee 2018-09-26 15:06关注如果数字按照从大到小(千位>百位>十位>个位),那么没有
#include "stdlib.h" #include "string.h" #include "stdio.h" int reverse(int n) { char t[5]; memset(t, '0', sizeof(char) * 5); _itoa(n, t, 10); if (t[0] == t[1] || t[0] == t[2] || t[0] == t[3] || t[1] == t[2] || t[1] == t[3] || t[2] == t[3]) return -1; int r = 0; for (int i = 3; i >= 0; i--) { r += (t[i] - '0'); r *= 10; } return r / 10; } int _tmain(int argc, _TCHAR* argv[]) { for (int i = 1; i <= 9999; i++) { int t = i; while (t > 0) { if (t % 10 < (t / 10) %10) goto label1; t /= 10; } if (i % 11 == 0 && reverse(i) % 11 == 0 && reverse(i) <= i) printf("%d-%d ", i, reverse(i)); label1:; } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报