ããååšçã®è¿äŒŒå€ãæ±ããã®ã«åã«å
æ¥ããæ£å€è§åœ¢ãå©çšããŠããæ¹æ³ãç®ã«ããã
ãã¶ãÏ=3.141592ãŸã§ã®æ°å€ãæã«å
¥ãããŸã§ã«ã¯æ£2812è§åœ¢ã®å³åœ¢ãå¿
èŠãšããã®ããªïŒ
äžæ¹åäœåã§ååŸãx軞ãšÎž(ã©ãžã¢ã³)ã§ããæ
Ξâ3*sin(Ξ)/(2+cos(Ξ))
ãªãé¢ä¿æ§ãå©çšããã°
Ξ=Ï/60(=3°)ã®ã©ãžã¢ã³è§ãå©çšããããšã§
Ï/60â3*sin(Ï/60)/(2+cos(Ï/60))
ãã
Ïâ180*sin(Ï/60)/(2+cos(Ï/60)
ããã§ããããããã®HPã«èŒããŠãã£ãäžè§é¢æ°è¡šãå©çšãããŠããããš
=180*(-2*sqrt(15-3*sqrt(5))+2*sqrt(5+sqrt(5))+sqrt(30)+sqrt(10)-sqrt(6)-sqrt(2))/
(32+2*sqrt(15+3*sqrt(5))+2*sqrt(5+sqrt(5))+sqrt(30)-sqrt(10)-sqrt(6)+sqrt(2))
ãããèšç®ããããš
=3.141592252236561
ã®æ°å€ãäžããŠãããã
äžèšã® JavaScript èšèªã«ããã³ãŒãã ååšçã®è¿äŒŒå€ãåºåããŸãã
ã©ãããŠãããªã¢ã«ãŽãªãºã ã§æ±ããããã®ãåãããŸããããã©ãã (â â oâ â ;â )
function spigotPi(digits) {
let len = Math.floor(digits * 10 / 3) + 1;
let array = new Array(len).fill(2);
let result = [];
let q = 0, r = 0, num = 0;
for (let i = 0; i < digits; i++) {
let carry = 0;
for (let j = len - 1; j > 0; j--) {
num = array[j] * 10 + carry;
array[j] = num % (2 * j + 1);
carry = Math.floor(num / (2 * j + 1)) * j;
}
num = array[0] * 10 + carry;
q = Math.floor(num / 10);
r = num % 10;
array[0] = r;
result.push(q);
}
result.splice(1, 0, "."); // å°æ°ç¹ãè¿œå
return result.join("");
}
// 䜿çšäŸ: Ï ã®æåã® 100 æ¡ãæ±ãã
console.log(spigotPi(100));
Ïãeãªã©ã¯ä»£è¡šçç¡çæ°ã§ãŸãè¶
è¶æ°ã§ãããã䞊ãã§ããæ°åã¯ãŸãã«çŽ æ°ã®ããã«äœã次ã«äžŠãã§ããã®ã
èŠåœãã€ããªãå
šãæ°çŽãã§ãããªããããªãããæå³ä¹±æ°ã«äœ¿ããããªã代ç©ãªã®ã«ãäŸã®ããšãããæå³èŠåçãª
æ³åã«ããç¡éã«æ°åãçã¿åºããŠããããã®ãååšã§ããããšãäžæè°ã§ãªããŸããã
JavaScript èšèªã§ã³ãŒããããŠããã®ã
PARI/GPæ§ã«ã³ãŒãå€æŽããŠå®è¡ãããã
gp > print(spigotPi(780));
[3].[1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 4, 10,
2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7,
8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 7, 10,
3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9, 8, 2, 1, 4, 8, 0, 8, 6, 5, 1, 3, 2, 8, 2, 3, 0, 6, 6, 4,
7, 0, 9, 3, 8, 4, 4, 6, 0, 9, 5, 5, 0, 5, 8, 2, 2, 3, 1, 7, 2, 5, 3, 5, 9, 4, 0, 8, 1, 2, 8, 4, 8, 1,
1, 1, 7, 4, 5, 0, 2, 8, 4, 1, 0, 2, 6, 10,
1, 9, 3, 8, 5, 2, 1, 1, 0, 5, 5, 5, 9, 6, 4, 4, 6, 2, 2, 9, 4, 8, 9, 5, 4, 9, 3, 0, 3, 8, 1, 9, 6, 4,
4, 2, 8, 8, 1, 0, 9, 7, 5, 6, 6, 5, 9, 3, 3, 4, 4, 6, 1, 2, 8, 4, 7, 5, 6, 4, 8, 2, 3, 3, 7, 8, 6, 7,
8, 3, 1, 6, 5, 2, 7, 1, 1, 10,
1, 9, 0, 9, 1, 4, 5, 6, 4, 8, 5, 6, 6, 9, 2, 3, 4, 6, 0, 3, 4, 8, 6, 1, 0, 4, 5, 4, 3, 2, 6, 6, 4, 8,
2, 1, 3, 3, 9, 3, 6, 0, 7, 2, 5, 10,
2, 4, 9, 1, 4, 1, 2, 7, 3, 7, 2, 4, 5, 8, 6, 10,
0, 6, 6, 0, 6, 3, 1, 5, 5, 8, 8, 1, 7, 4, 8, 8, 1, 5, 2, 0, 9, 2, 0, 9, 6, 2, 8, 2, 9, 2, 5, 4, 0, 9,
1, 7, 1, 5, 3, 6, 4, 3, 6, 7, 8, 9, 2, 5, 8, 10,
3, 5, 9, 10,
1, 1, 3, 3, 0, 5, 3, 0, 5, 4, 8, 8, 2, 0, 4, 6, 6, 5, 2, 1, 3, 8, 4, 1, 4, 6, 9, 5, 1, 9, 4, 1, 5, 1,
1, 6, 0, 9, 4, 3, 3, 0, 5, 7, 2, 6, 10,
3, 6, 5, 7, 5, 9, 5, 9, 1, 9, 5, 3, 0, 9, 2, 1, 8, 6, 1, 1, 7, 3, 8, 1, 9, 3, 2, 6, 1, 1, 7, 9, 3, 1,
0, 5, 1, 1, 8, 5, 4, 8, 0, 7, 4, 4, 6, 2, 3, 7, 9, 9, 6, 2, 7, 4, 9, 5, 6, 7, 3, 5, 1, 8, 8, 5, 7, 5,
2, 7, 2, 4, 8, 9, 1, 2, 2, 7, 9, 3, 8, 1, 8, 2, 10,
1, 1, 9, 4, 9, 1, 2, 9, 8, 3, 3, 6, 7, 3, 3, 6, 2, 4, 4, 0, 6, 5, 6, 6, 4, 3, 0, 8, 5, 10,
2, 1, 3, 9, 4, 9, 4, 6, 3, 9, 5, 2, 2, 4, 7, 3, 7, 1, 9, 0, 6, 10,
2, 1, 7, 9, 8, 6, 0, 9, 4, 3, 7, 0, 2, 7, 7, 0, 5, 3, 9, 2, 1, 7, 1, 7, 6, 2, 9, 3, 1, 7, 6, 7, 5, 2,
3, 8, 4, 6, 7, 4, 8, 1, 8, 4, 6, 7, 6, 6, 9, 4, 0, 5, 1, 3, 1, 9, 10,
0, 5, 6, 8, 1, 2, 7, 1, 4, 5, 2, 6, 3, 5, 6, 0, 8, 2, 7, 7, 8, 5, 7, 7, 1, 3, 4, 2, 7, 5, 7, 7, 8, 9,
6, 0, 9, 1, 7, 3, 6, 3, 7, 1, 7, 8, 7, 2, 1, 4, 6, 8, 4, 4, 0, 8, 10,
1, 2, 2, 4, 9, 5, 3, 4, 2, 10,
1, 4, 6, 5, 4, 9, 5, 8, 5, 3, 7, 1, 0, 5, 0, 7, 9, 2, 2, 7, 9, 6, 8, 9, 2, 5, 8, 9, 2, 3, 5, 4, 1, 10,
1, 9, 9, 5, 6, 1, 1, 2, 1, 2, 9, 0, 2, 1, 9, 6, 0, 8, 6, 3, 10,
3, 4, 4, 1, 8, 1, 5, 9, 8, 1, 3, 6, 2, 9, 7, 7, 4, 7, 7, 1, 3, 0, 9, 9, 6, 0, 5, 1, 8, 7, 0, 7, 2, 1,
1, 3, 4, 9, 9, 9, 9, 9, 9, 8, 3, 7, 2, 9, 7, 8, 0, 4, 9, 9, 5]
ãšäºæ³ã«åããŠ10ã®æ°åãå«ãã§äžŠã¶ãã§ãã
(ã³ãŒãäžã©ããå€æŽãããããã®ãä»ã®ãšããããããªãã®ã§ãã®ãŸãŸã§ãã)
ãã ã2,10ãšäžŠãã§ããã°-->3,0ïŒ1,9,10ãšäžŠãã§ããã-->2,0,0
ãšããŠèŠãŠè¡ãã°,å°æ°ç¹ä»¥äž762æ¡ãã9ã6å䞊ã¶ãã¡ã€ã³ãã³ãã€ã³ããŸã§Ïã®æ£ç¢ºãªæ°å€ã
èŠãŠè¡ãããšãåºæ¥ãããã«ãªã£ãŠããŸãã
ã»ããšã«äžæè°ã§ãããÏã¯èšãããéãã«åããŠããã ãã§ãã
ããã䞊ãã§ããæ°åã¯å
šãã©ã³ãã ã«çºç
ãã®èŠåæ§ãšäžèŠåæ§ã®å
±åãèµ·ããããšãé©ç°ã§ãã