Hertz Posted December 3, 2009 Report Posted December 3, 2009 Un numar hexagonal se compune folosind urmatoarea formula :H(n) = n(2n-1)Primele 5 numere hexagonale sunt :1 6 15 28 45Cate dintre primele 100.000.000 numere hexagonale se impart cu toate numerele intre 1 si 20? Quote
begood Posted December 3, 2009 Report Posted December 3, 2009 #include <fstream.h>void main () { long s=0,x; for(unsigned long i=232792559;i<=100000000;i++) { x=i*(2*i-1); if(x%2 && x%3 && x%5 && x%7 && x%11 && x%13 && x%17 && x%19) s++; } cout<<s; }232792559>100000000 so 0.cmmmc(1,2...20) = 232792559//le e gresit, revin alta data cu un edit. Quote
loki Posted December 3, 2009 Report Posted December 3, 2009 (edited) cmmmc(1-20)=232,792,560#include <iostream.h>int main() { long s=0,x=0; for(unsigned long i=1;i<=100000000;i++) { x=i*(2*i-1); if(!(x%232792560)) s++; } cout<<s; }begood: ti-am ajustat programul.codepad zice ca unu singur. Edited December 3, 2009 by loki Quote
tw8 Posted December 20, 2009 Report Posted December 20, 2009 Folosindu-ne de inversa functiei H(n), putem lua doar numerele divizibile cu 232792560 - adica cel mai mic multiplu comun al numerelor de la 1 la 20 - si sa verificam daca sunt hexagonale. Asta scuteste de o gramada de calcule inutile .Rezultatul programului meu:Numarul #1: H(1348848) = 3638780505360Numarul #2: H(5925920) = 70233049766880Numarul #3: H(7274768) = 105844491632880Numarul #4: H(8751600) = 153180996368400Numarul #5: H(9267440) = 171770879039760Numarul #6: H(11099088) = 246379497764400Numarul #7: H(11309760) = 255821331205440Numarul #8: H(12093120) = 292487090575680Numarul #9: H(14440608) = 417062304378720Numarul #10: H(14651280) = 429319996625520Numarul #11: H(17127968) = 586734558490080Numarul #12: H(17338640) = 601256856760560Numarul #13: H(18019040) = 649371587024160Numarul #14: H(19686128) = 775087251578640Numarul #15: H(20577200) = 846842299102800Numarul #16: H(22511808) = 1013562976345920Numarul #17: H(23192208) = 1075757000638320Numarul #18: H(23402880) = 1095389561185920Numarul #19: H(25750368) = 1326162878520480Numarul #20: H(28437728) = 1617408719166240Numarul #21: H(30430400) = 1852018457889600Numarul #22: H(31779248) = 2019841175111760Numarul #23: H(33256080) = 2211933680676720Numarul #24: H(35603568) = 2535228073057680Numarul #25: H(35814240) = 2565319537740960Numarul #26: H(36494640) = 2663717460964560Numarul #27: H(39182000) = 3070458208818000Numarul #28: H(41740160) = 3484481871911040Numarul #29: H(42523520) = 3616499463857280Numarul #30: H(44355168) = 3934761812261280Numarul #31: H(44565840) = 3972228145245360Numarul #32: H(45081680) = 4064715698163120Numarul #33: H(46913328) = 4401720641157840Numarul #34: H(47696688) = 4549948044642000Numarul #35: H(47907360) = 4590230236431840Numarul #36: H(50254848) = 5051099444751360Numarul #37: H(52942208) = 5605754722888320Numarul #38: H(53833280) = 5796044017283520Numarul #39: H(57657600) = 6648797617862400Numarul #40: H(59006448) = 6963521752146960Numarul #41: H(60999120) = 7441785220549680Numarul #42: H(63686480) = 8111935405894320Numarul #43: H(66244640) = 8776704591214560Numarul #44: H(68859648) = 9483302176508160Numarul #45: H(69070320) = 9541418140734480Numarul #46: H(69750720) = 9730325811286080Numarul #47: H(71417808) = 10201006527631920Numarul #48: H(72308880) = 10457148181399920Numarul #49: H(74996240) = 11248871953278960Numarul #50: H(78337760) = 12273609205297440Numarul #51: H(80169408) = 12854267877971520Numarul #52: H(82162080) = 13501214697690720Numarul #53: H(83510928) = 13948150107331440Numarul #54: H(88834928) = 15783288776695440Numarul #55: H(90913680) = 16530594331371120Numarul #56: H(93471840) = 17473969652499360Numarul #57: H(94255200) = 17768085359824800Numarul #58: H(96813360) = 18745653252165840Numarul #59: H(99500720) = 19800786461536080In total, exista 59 numere! Quote