Comments (5)
/**
*能被2整除的数,个位上的数能被2整除(偶数都能被2整除),那么这个数能被2整除
能被3整除的数,各个数位上的数字和能被3整除,那么这个数能被3整除
能被4整除的数,个位和十位所组成的两位数能被4整除,那么这个数能被4整除
能被5整除的数,个位上为0或5的数都能被5整除,那么这个数能被5整除
能被6整除的数,各数位上的数字和能被3整除的偶数,如果一个数既能被2整除又能被3整除,那么这个数能被6整除
能被7整除的数,若一个整数的个位数字截去,再从余下的数中,减去个位数的2倍,如果差是7的倍数,则原数能被7整除。如果差太大或心算不易看出是否7的倍数,就需要继续上述「截尾、倍大、相减、验差」的过程,直到能清楚判断为止。例如,判断133是否7的倍数的过程如下:13-3×2=7,所以133是7的倍数;又例如判断6139是否7的倍数的过程如下:613-9×2=595 , 59-5×2=49,所以6139是7的倍数,余类推。
能被8整除的数,一个整数的末3位若能被8整除,则该数一定能被8整除。
能被9整除的数,各个数位上的数字和能被9整除,那么这个数能被9整除
*
*/
function find9Number() {
for (var a = 1; a <= 9; a++) { //1
for (var b = 1; b <= 9; b++) { // 2
if (a == b) continue;
if (b % 2 != 0) continue;
for (var c = 1; c <= 9; c++) { //3
if (c == b || c == a) {
continue;
}
if ((a + b + c) % 3 != 0) {
continue;
}
for (var d = 1; d <= 9; d++) { // 4
if (d == a || d == b || d == c) {
continue;
}
if ((c * 10 + d) % 4 != 0) continue;
for (var e = 1; e <= 9; e++) { // 5
if (e == a || e == b || e == c || e == d) {
continue;
}
if (e != 5) continue;
for (var f = 1; f <= 9; f++) { //6
if (f == a || f == b || f == c || f == d || f == e) {
continue;
}
if ((a + b + c + d + e + f) % 3 != 0 || f % 2 != 0) {
continue;
}
for (var g = 1; g <= 9; g++) { // 7
if (g == a || g == b || g == c || g == d || g == e || g == f) {
continue;
}
var str = '' + a + b + c + d + e + f;
if ((Number(str) - g * 2) % 7 != 0) continue;
for (var h = 1; h <= 9; h++) { // 8
if (h == a || h == b || h == c || h == d || h == e || h == f || h == g) continue;
var str = '' + f + g + h;
if (Number(str) % 8 != 0) continue;
for (var i = 1; i <= 9; i++) { // 9
if ((a + b + c + d + e + f + g + h + i) % 9 != 0) continue;
console.log(a, b, c, d, e, f, g, h, i);
return Number("" + a + b + c + d + e + f + g + h + i);
}
}
}
}
}
}
}
}
}
}
from leetcode.
简化一下
function findNumber() {
var flag = 1,
map = new Set(),
a = 1,
b = 1,
c = 1,
d = 1,
e = 1,
f = 1,
g = 1,
h = 1,
i = 1;
while (true) {
switch (flag) {
case 1:
while (map.has(a) && a <= 9) a++;
a > 9 ? flag = 10 : (flag = 2, map.add(a));
break;
case 2:
while ((map.has(b) || b % 2 != 0) && b <= 9) b++;
b > 9 ? (flag = 1, map.delete(a), a++, b = 1) : (flag = 3, map.add(b));
break;
case 3:
while ((map.has(c) || (a + b + c) % 3 != 0) && c <= 9) c++;
c > 9 ? (flag = 2, map.delete(b), b++, c = 1) : (flag = 4, map.add(c));
break;
case 4:
while ((map.has(d) || (c * 10 + d) % 4 != 0) && d <= 9) d++;
d > 9 ? (flag = 3, map.delete(c), c++, d = 1) : (flag = 5, map.add(d));
break;
case 5:
while ((map.has(e) || e != 5) && e <= 9) e++;
e > 9 ? (flag = 4, map.delete(d), d++, e = 1) : (flag = 6, map.add(e));
break;
case 6:
while ((map.has(f) || ((a + b + c + d + e + f) % 3 != 0 || f % 2 != 0)) && f <= 9) f++;
f > 9 ? (flag = 5, map.delete(e), e++, f = 1) : (flag = 7, map.add(f));
break;
case 7:
while ((map.has(g) || (Number("" + a + b + c + d + e + f) - g * 2) % 7 != 0) && g <= 9) g++;
g > 9 ? (flag = 6, map.delete(f), f++, g = 1) : (flag = 8, map.add(g));
break;
case 8:
while ((map.has(h) || Number('' + f + g + h) % 8 != 0) && h <= 9) h++;
h > 9 ? (flag = 7, map.delete(g), g++, h = 1) : (flag = 9, map.add(h));
break;
case 9:
while ((map.has(i) || (a + b + c + d + e + f + g + h + i) % 9 != 0) && i <= 9) i++;
i > 9 ? (flag = 8, map.delete(h), h++, i = 1) : flag = 10;
break;
case 10:
return "" + a + b + c + d + e + f + g + h + i;
}
}
}
from leetcode.
认领
from leetcode.
认领
帅哥 快一个月了 出来解题了
from leetcode.
/**
* 找出一个九位数,这个数包含了1-9这九个数字,并且这九个数的前n位能被n整除,
* 若这个数为abcdefghi,则ab可以被2整除,abc可以被3整除... abcdefghi可以被9整除。
*/
public class Test {
public static void main(String[] args) {
System.out.println(result()); //381654729
}
public static int result() {
int result = -1;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
int h = 0;
int i = 0;
HashSet<Integer> set = new HashSet<Integer>();
for (int j = 123456789; j <= 987654321; j++) {
a = j / 100000000;
b = j / 10000000 % 10;
c = j / 1000000 % 10;
d = j / 100000 % 10;
e = j / 10000 % 10;
f = j / 1000 % 10;
g = j / 100 % 10;
h = j / 10 % 10;
i = j % 10;
set.clear();
set.add(a);
set.add(b);
set.add(c);
set.add(d);
set.add(e);
set.add(f);
set.add(g);
set.add(h);
set.add(i);
if (!set.contains(0)) {
if (set.size() == 9) {
if (b % 2 == 0) {
if (e == 0 || e == 5) {
if ((a + b + c) % 3 == 0) {
if ((a * 1000 + b * 100 + c * 10 + d) % 4 == 0) {
if ((a * 100000 + b * 10000 + c * 1000 + d * 100 + e * 10 + f) % 6 == 0) {
if ((a * 1000000 + b * 100000 + c * 10000 + d * 1000 + e * 100 + f * 10 + g) % 7 == 0) {
if ((a * 10000000 + b * 1000000 + c * 100000 + d * 10000 + e * 1000 + f * 100 + g * 10 + h) % 8 == 0) {
result = a * 100000000 + b * 10000000 + c * 1000000 + d * 100000 + e * 10000 + f * 1000 + g * 100 + h * 10 + i;
break;
}
}
}
}
}
}
}
}
}
}
return result;
}
}
from leetcode.
Related Issues (20)
- 树专题中双色标记法后序和前序写反了 HOT 2
- leetcode/thinkings/tree.md 出错 HOT 1
- some error
- 二分查找专题,寻找最左/右插入位置算法模板错误问题 HOT 9
- possible code error in thinkings/heap.md HOT 1
- link error HOT 4
- link is not correct
- [695.最大岛屿面积,360,面试原题]【每日一题】 HOT 3
- 【专题】 反向思考 HOT 3
- 【专题】 考虑每一项对结果到的贡献
- 【专题】递推方程时间复杂度优化
- 已发布文章的代码错误 HOT 7
- Remove duplicate CPP solution and add Python solution for problem 100.same-tree
- Add OSSF Scorecard security workflow
- 题目的排版可否改一改
- 关于二分法中查找中间点索引的算式 HOT 6
- leetcode-thinkings-tree.md BFS 模版调整 HOT 3
- anki-card 中只有10道题吗?截止到2023.11 HOT 1
- 【每日一题】- 2020-xx-xx - xxx
- 大佬,考虑出一个最短路径的专题吗 HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from leetcode.