Kezdőlap › Fórumok › Programozás › Kezdõ C programozó kérdései
- This topic has 14 hozzászólás, 5 résztvevő, and was last updated 20 years, 10 months telt el by
zehyo.
-
SzerzőBejegyzés
-
2004-08-03-19:43 #1961598
Ne haragudj zeyho, nem okoskodásként mondom a következõt:
hirtelenjében a megoldást nem mellékelem, nemsoká talán az is meglesz, de fogadj el tõlem egy jótanácsot:próbáld meg olvashatóbbá tenni a kódodat, mert ha majd nem csak ilyen kis kódokat csinálsz, eszméletlen nehéz lesz hibát keresni!
tehát pl az ilyen helyett, h:for(int x=1,xb)
{
…
}//if
}//forinkább vmi ilyesmit irj:
for(int x=1,xa=24;
b=48;
if(a>b)
{
…
}
}
TAB-al nem is hosszadalmas.
a megoldást nemsoká!2004-08-03-19:56 #1961599A tabok gyönyörûen látszanak a forráskódban, kwrite-val írom, csak sajnos copy-paste után nem jött át.
2004-08-03-20:05 #1961600Akkor írás közben használd a „Code” nevû gombot itt fenn.
2004-08-03-20:09 #1961601Szia, kitaláltam vmit, ha valaki hibásnak találja, kérem irja le!
Mo:
én ugy gondolkodtam, h ne számoljuk végig az összes variáciot, legyen hatékony a progi: a>=b>=c.(nem hagyunk ki semmit)namost:
a legnagyobb szám (a) legyen x+3k, ahol keZ+
a középsõ szám (B) legyen x,
a legkisebb pedig 100-2x-3k.igy igaz lesz, h legalább egy különbség osztható 3-al(az x-(x+3k) lesz az), és az összeg kisebb, mint 101.
->ezekután tudjuk, h : max(2x+3k)=100 lehet!
ezután nincs más dolgod, mint megnézni, hogy hány ilyen (x,k) egész számpár van!
az én kódom(C++ —> bocsi):Code:#includeint main()
{
int osszeg;
for(int x=0;x<=100;x++) { for(int k=0;2x+3k<=100;k++) { osszeg++; } } cout << osszeg << "ilyen számhármas van" << endl; return(0); }
remélem érthetõ és helyes is :):):):)
ja, aztán közben rájöttem, h tényleg csak okoskodtam, mert itt nem lehet normálisan tagolni!!! BOCSIIIIIIIIIIIIIIIII!!!!![/code]2004-08-03-20:10 #1961602aha, látom én is….Code….thnx
2004-08-03-20:14 #1961603sõt még lehet rajta gyorsitani! 😳 😳 😳
ehelyett:for(int x=0;x50 esetén 2x+3k mindig nagyobb mint 100, mivel keZ+… 😈 😈
2004-08-03-20:19 #1961604Ez házi feladat?
2004-08-03-20:27 #19616052004-08-03-20:30 #1961606Köszönöm az eddigi segítséget, nem házi feladat, önszorgalom.
A megoldás szvsz nem jó, pl azért, mert bármelyik 2 szám különbsége lehet 3k, itt pedig mindig a legnagyobb 2 különbsége osztható 3k-val. A másik problem, hogy a+b+c<101, nem =100.
a code gomb segítségével beszúrtam normálisan a kódom
2004-08-03-20:42 #1961607Közbe máshonnan meglett a megoldás, szerinten szép, íme:
int main ()
{
int i1,a,b,c;
long osszes=0;
for (i1=1;i1<101;i1++)
{
for (a=1;a<=i1/3;a++) { for (b=a, c=i1-2*a; b<=c;b++,c--) { if ((((a-b)%3==0) || ((a-c)%3==0) || ((b-c)%3==0)))osszes++; }}} printf ("[code] int main () { int i1,a,b,c; long osszes=0; for (i1=1;i1<101;i1++) { for (a=1;a<=i1/3;a++) { for (b=a, c=i1-2*a; b<=c;b++,c--) { if ((((a-b)%3==0) || ((a-c)%3==0) || ((b-c)%3==0)))osszes++; }}} printf („
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz