某人购买的体育彩票猜中了4个号码,这4个号码按照从大到小的顺序组成一个数字可被11整除,将其颠倒过来也可被11整除,编写函数求符合这样条件的4个号码。举例:可被11整除颠倒过来也可被11整除的正整数例如341,它可被11整除,颠倒过来143也可被11整除。
如果数字按照从大到小(千位>百位>十位>个位),那么没有
#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;
}
#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);
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 = 1000; i <= 9999; i++)
{
if (i % 11 == 0 && reverse(i) % 11 == 0)
printf("%d ", reverse(i));
}
return 0;
}
1001 2101 3201 4301 5401 6501 7601 8701 9801 11 1111 2211 3311 4411 5511 6611 7711 8811 9911 121 1221 2321 3421 4521 5621 6721 7821 8921 9031 231 1331 2431 3531 4631 5731 6831 7931 8041 9141 341 1441 2541 3641 4741 5841 6941 7051 8151 9251 451 1551 2651 3751 4851 5951 6061 7161 8261 9361 561 1661 2761 3861 4961 5071 6171 7271 8371 9471 671 1771 2871 3971 4081 5181 6281 7381 8481 9581 781 1881 2981 3091 4191 5291 6391 7491 8591 9691 891 1991 2002 3102 4202 5302 6402 7502 8602 9702 902 1012 2112 3212 4312 5412 6512 7612 8712 9812 22 1122 2222 3322 4422 5522 6622 7722 8822 9922 132 1232 2332 3432 4532 5632 6732 7832 8932 9042 242 1342 2442 3542 4642 5742 6842 7942 8052 9152 352 1452 2552 3652 4752 5852 6952 7062 8162 9262 462 1562 2662 3762 4862 5962 6072 7172 8272 9372 572 1672 2772 3872 4972 5082 6182 7282 8382 9482 682 1782 2882 3982 4092 5192 6292 7392 8492 9592 792 1892 2992 3003 4103 5203 6303 7403 8503 9603 803 1903 2013 3113 4213 5313 6413 7513 8613 9713 913 1023 2123 3223 4323 5423 6523 7623 8723 9823 33 1133 2233 3333 4433 5533 6633 7733 8833 9933 143 1243 2343 3443 4543 5643 6743 7843 8943 9053 253 1353 2453 3553 4653 5753 6853 7953 8063 9163 363 1463 2563 3663 4763 5863 6963 7073 8173 9273 473 1573 2673 3773 4873 5973 6083 7183 8283 9383 583 1683 2783 3883 4983 5093 6193 7293 8393 9493 693 1793 2893 3993 4004 5104 6204 7304 8404 9504 704 1804 2904 3014 4114 5214 6314 7414 8514 9614 814 1914 2024 3124 4224 5324 6424 7524 8624 9724 924 1034 2134 3234 4334 5434 6534 7634 8734 9834 44 1144 2244 3344 4444 5544 6644 7744 8844 9944 154 1254 2354 3454 4554 5654 6754 7854 8954 9064 264 1364 2464 3564 4664 5764 6864 7964 8074 9174 374 1474 2574 3674 4774 5874 6974 7084 8184 9284 484 1584 2684 3784 4884 5984 6094 7194 8294 9394 594 1694 2794 3894 4994 5005 6105 7205 8305 9405 605 1705 2805 3905 4015 5115 6215 7315 8415 9515 715 1815 2915 3025 4125 5225 6325 7425 8525 9625 825 1925 2035 3135 4235 5335 6435 7535 8635 9735 935 1045 2145 3245 4345 5445 6545 7645 8745 9845 55 1155 2255 3355 4455 5555 6655 7755 8855 9955 165 1265 2365 3465 4565 5665 6765 7865 8965 9075 275 1375 2475 3575 4675 5775 6875 7975 8085 9185 385 1485 2585 3685 4785 5885 6985 7095 8195 9295 495 1595 2695 3795 4895 5995 6006 7106 8206 9306 506 1606 2706 3806 4906 5016 6116 7216 8316 9416 616 1716 2816 3916 4026 5126 6226 7326 8426 9526 726 1826 2926 3036 4136 5236 6336 7436 8536 9636 836 1936 2046 3146 4246 5346 6446 7546 8646 9746 946 1056 2156 3256 4356 5456 6556 7656 8756 9856 66 1166 2266 3366 4466 5566 6666 7766 8866 9966 176 1276 2376 3476 4576 5676 6776 7876 8976 9086 286 1386 2486 3586 4686 5786 6886 7986 8096 9196 396 1496 2596 3696 4796 5896 6996 7007 8107 9207 407 1507 2607 3707 4807 5907 6017 7117 8217 9317 517 1617 2717 3817 4917 5027 6127 7227 8327 9427 627 1727 2827 3927 4037 5137 6237 7337 8437 9537 737 1837 2937 3047 4147 5247 6347 7447 8547 9647 847 1947 2057 3157 4257 5357 6457 7557 8657 9757 957 1067 2167 3267 4367 5467 6567 7667 8767 9867 77 1177 2277 3377 4477 5577 6677 7777 8877 9977 187 1287 2387 3487 4587 5687 6787 7887 8987 9097 297 1397 2497 3597 4697 5797 6897 7997 8008 9108 308 1408 2508 3608 4708 5808 6908 7018 8118 9218 418 1518 2618 3718 4818 5918 6028 7128 8228 9328 528 1628 2728 3828 4928 5038 6138 7238 8338 9438 638 1738 2838 3938 4048 5148 6248 7348 8448 9548 748 1848 2948 3058 4158 5258 6358 7458 8558 9658 858 1958 2068 3168 4268 5368 6468 7568 8668 9768 968 1078 2178 3278 4378 5478 6578 7678 8778 9878 88 1188 2288 3388 4488 5588 6688 7788 8888 9988 198 1298 2398 3498 4598 5698 6798 7898 8998 9009 209 1309 2409 3509 4609 5709 6809 7909 8019 9119 319 1419 2519 3619 4719 5819 6919 7029 8129 9229 429 1529 2629 3729 4829 5929 6039 7139 8239 9339 539 1639 2739 3839 4939 5049 6149 7249 8349 9449 649 1749 2849 3949 4059 5159 6259 7359 8459 9559 759 1859 2959 3069 4169 5269 6369 7469 8569 9669 869 1969 2079 3179 4279 5379 6479 7579 8679 9779 979 1089 2189 3289 4389 5489 6589 7689 8789 9889 99 1199 2299 3399 4499 5599 6699 7799 8899 9999 Press any key to continue . . .
去个重复:
#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++)
{
if (i % 11 == 0 && reverse(i) % 11 == 0 && reverse(i) <= i)
printf("%d-%d ", i, reverse(i));
}
return 0;
}
1320-231 1430-341 1540-451 1650-561 1760-671 1870-781 1980-891 2310-132 2431-1342 2530-352 2541-1452 2640-462 2651-1562 2750-572 2761-1672 2860-682 2871-1782 2970-792 2981-1892 3091-1903 3102-2013 3190-913 3201-1023 3410-143 3421-1243 3520-253 3542-2453 3641-1463 3652-2563 3740-473 3751-1573 3762-2673 3850-583 3861-1683 3872-2783 3960-693 3971-1793 3982-2893 4081-1804 4092-2904 4103-3014 4180-814 4213-3124 4290-924 4301-1034 4312-2134 4510-154 4521-1254 4532-2354 4620-264 4631-1364 4653-3564 4730-374 4752-2574 4763-3674 4851-1584 4862-2684 4873-3784 4950-594 4961-1694 4972-2794 4983-3894 5071-1705 5082-2805 5093-3905 5104-4015 5170-715 5192-2915 5203-3025 5214-4125 5280-825 5291-1925 5302-2035 5324-4235 5390-935 5401-1045 5412-2145 5423-3245 5610-165 5621-1265 5632-2365 5643-3465 5720-275 5731-1375 5742-2475 5764-4675 5830-385 5841-1485 5863-3685 5874-4785 5940-495 5962-2695 5973-3795 5984-4895 6072-2706 6083-3806 6094-4906 6105-5016 6182-2816 6193-3916 6204-4026 6215-5126 6270-726 6281-1826 6314-4136 6325-5236 6380-836 6391-1936 6402-2046 6413-3146 6435-5346 6490-946 6501-1056 6512-2156 6523-3256 6534-4356 6710-176 6721-1276 6732-2376 6743-3476 6754-4576 6820-286 6831-1386 6842-2486 6853-3586 6875-5786 6930-396 6941-1496 6952-2596 6974-4796 6985-5896 7051-1507 7062-2607 7084-4807 7095-5907 7106-6017 7150-517 7183-3817 7194-4917 7205-5027 7216-6127 7260-627 7293-3927 7304-4037 7315-5137 7326-6237 7381-1837 7392-2937 7403-3047 7425-5247 7436-6347 7480-847 7491-1947 7502-2057 7513-3157 7524-4257 7546-6457 7590-957 7601-1067 7612-2167 7623-3267 7634-4367 7645-5467 7810-187 7821-1287 7832-2387 7843-3487 7854-4587 7865-5687 7920-297 7931-1397 7942-2497 7953-3597 7964-4697 7986-6897 8041-1408 8052-2508 8063-3608 8074-4708 8096-6908 8107-7018 8140-418 8162-2618 8173-3718 8195-5918 8206-6028 8217-7128 8250-528 8261-1628 8294-4928 8305-5038 8316-6138 8327-7238 8360-638 8371-1738 8415-5148 8426-6248 8437-7348 8470-748 8492-2948 8503-3058 8514-4158 8536-6358 8547-7458 8591-1958 8602-2068 8613-3168 8624-4268 8635-5368 8657-7568 8690-968 8701-1078 8712-2178 8723-3278 8734-4378 8745-5478 8756-6578 8910-198 8921-1298 8932-2398 8943-3498 8954-4598 8965-5698 8976-6798 9031-1309 9042-2409 9053-3509 9064-4609 9075-5709 9086-6809 9108-8019 9130-319 9152-2519 9163-3619 9174-4719 9185-5819 9207-7029 9218-8129 9240-429 9251-1529 9273-3729 9284-4829 9306-6039 9317-7139 9328-8239 9350-539 9361-1639 9372-2739 9405-5049 9416-6149 9427-7249 9438-8349 9460-649 9471-1749 9482-2849 9504-4059 9526-6259 9537-7359 9548-8459 9570-759 9581-1859 9603-3069 9614-4169 9625-5269 9647-7469 9658-8569 9680-869 9702-2079 9713-3179 9724-4279 9735-5379 9746-6479 9768-8679 9801-1089 9812-2189 9823-3289 9834-4389 9845-5489 9856-6589 9867-7689 Press any key to continue . . .
如果一个数能被11整除,倒过来也可以,没必要验证逆序