Hertz Posted December 3, 2009 Report Share 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 Link to comment Share on other sites More sharing options...
begood Posted December 3, 2009 Report Share 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 Link to comment Share on other sites More sharing options...
loki Posted December 3, 2009 Report Share 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 Link to comment Share on other sites More sharing options...
tw8 Posted December 20, 2009 Report Share 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 Link to comment Share on other sites More sharing options...