|
2004ÄêÈ«¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔÈý¼¶CÓïÑÔÈ«ÕæÉÏ»úÊÔÌâ½âÎö |
| À´Ô´:www.cnrencai.com ʱ¼ä:2006-03-11 |
|
µÚ1Ì⣺ º¯ÊýReadDat()ʵÏÖ´ÓÎļþENG.INÖжÁȡһƪӢÎÄÎÄÕ£¬´æÈëµ½×Ö·û´®Êý×éxxÖУ»Çë±àÖÆº¯ÊýencryptChar()£¬°´¸ø¶¨µÄÌæ´ú¹ØÏµ¶ÔÊý×éxxÖеÄËùÓÐ×Ö·û½øÐÐÌæ´ú£¬ÈÔ´æÈëÊý×éxxµÄ¶ÔÓ¦µÄλÖÃÉÏ£¬×îºóµ÷Óú¯ÊýWriteDat()°Ñ½á¹ûxxÊä³öµ½ÎļþPS10.DATÖС£Ìæ´ú¹ØÏµ£ºf(p)=p*11 mod 256 (pÊÇÊý×éÖÐijһ¸ö×Ö·ûµÄASCIIÖµ£¬f(p)ÊǼÆËãºóÐÂ×Ö·ûµÄASCIIÖµ)£¬Èç¹ûÔ×Ö·ûµÄASCIIÖµÊÇżÊý»ò¼ÆËãºóf(p)ֵСÓÚµÈÓÚ32£¬Ôò¸Ã×Ö·û²»±ä£¬·ñÔò½«f(p)Ëù¶ÔÓ¦µÄ×Ö·û½øÐÐÌæ´ú¡£ £ £ void encryptChar() £ £ {int i; £ £ char *pf; £ £ for(i=0;i£ £ {pf=xx[i]; £ £ while(*pf!=0) £ £ {if(*pf==*pf/2*2||*pf*11%256<32) £ £ {pf++;continue;} £ £ *pf=*pf*11%256; £ £ pf++;}}} £ £ ×¢£ºÔÚReadDat()º¯ÊýÖÐÓÉÓÚfgets()º¯Êý¶ÁÈëÊý¾ÝʱûÓжÁÈë×Ö·û´®½áÊø·û'\0'£¬Òò¶øÓÃwhile()Ñ»·ÔÚxxÊý×éÿһÐÐδ⽫»»Ðзû'\n'Ìæ»»³É½áÊø·û'\0'¡£±àдµÄº¯ÊýÈçÏ£º¸Ãº¯ÊýµÄ»ù±¾Ëã·¨ÊÇ¡ª¡ªÈÃ×Ö·ûÖ¸ÕëpfÖ¸ÏòÿһÐеĿªÍ·È»ºóÖðÒ»ÍùºóÒÆ¶¯£¬ÔÚÒÆ¶¯¹ý³ÌÖа´ÒªÇó½øÐÐת»»¡£*pf=*pf/2*2ÓÃÓÚÅжÏÊÇ·ñΪżÊý¡£if()Ìõ¼þÓï¾äÓÃÓÚ¿ØÖƲ»Ìæ´ú×Ö·û¡£ £ £ £ £ µÚ2Ì⣺ £ £ º¯ÊýReadDat()ʵÏÖ´ÓÎļþin.datÖжÁÈ¡20ÐÐÊý¾Ý´æ·Åµ½×Ö·û´®Êý×éxxÖÐ(µÚÐÐ×Ö·û´®³¤¶È¾ùСÓÚ80)¡£Çë±àÖÆº¯ÊýjsSort()£¬Æäº¯ÊýµÄ¹¦ÄÜÊÇ£ºÒÔÐÐΪµ¥Î»¶Ô×Ö·û´®°´¸ø¶¨µÄÌõ¼þ½øÐÐÅÅÐò£¬ÅÅÐòºóµÄ½á¹ûÈÔ°´ÐÐÖØÐ´æÈë×Ö·û´®Êý×éxxÖУ¬×îºóµ÷Óú¯ÊýWriteDat()°Ñ½á¹ûxxÊä³öµ½Îļþout.datÖС£ £ £ ¡¡¡¡Ìõ¼þ£º´Ó×Ö·û´®ÖмäÒ»·ÖΪ¶þ£¬×ó±ß²¿·Ö°´×Ö·ûµÄASCIIÖµÉýÐòÅÅÐò£¬ÅÅÐòºó×ó±ß²¿·ÖÓëÓұ߲¿·Ö½øÐн»»»¡£Èç¹ûÔ×Ö·û´®³¤¶ÈÎªÆæÊý£¬Ôò×îÖмäµÄ×Ö·û²»²Î¼Ó´¦Àí£¬×Ö·ûÈÔ·ÅÔÚÔλÖÃÉÏ¡£ £ £ ÀýÈ磺×Ö·û´®¡¡d c b a h g f e Ôò´¦Àíºó×Ö·û´® h g f e a b c d £ £ void jsSort() £ £ {int i,strl,half,j,k; £ £ char ch; £ £ for(i=0;i<20;i++) £ £ {strl=strlen(xx[i]); £ £ half=strl/2; £ £ for(j=0;j£ £ for(k=j+1;k£ £ if(xx[i][j]>xx[i][k]) £ £ {ch=xx[i][j]; £ £ xx[i][j]=xx[i][k]; £ £ xx[i][k]=ch;} £ £ for(j=half-1,k=strl-1;j>=0;j--,k--) £ £ {ch=xx[i][j]; £ £ xx[i][j]=xx[i][k]; £ £ xx[i][k]=ch;}} £ £ ×¢£ºÏȲÉÓÃðÅÝ·¨¶Ô×ó±ß²¿·Ö½øÐÐÉýÐòÅÅÐò£¬È»ºó½«ÅÅÐòºóµÄ×ó°ëÓëÓÒ°ë°´¶ÔӦλ½øÐе÷»»¡£ £ £ £ £ µÚ3Ì⣺ £ £ ÒÑÖªÊý¾ÝÎļþIN.DATÖдæÓÐ300¸öËÄλÊý£¬²¢Òѵ÷ÓöÁº¯ÊýReadDat()°ÑÕâЩÊý´æÈëÊý×éaÖУ¬Çë±àÖÆÒ»º¯ÊýjsValue()£¬Æä¹¦ÄÜÊÇ£ºÇó³öǧλÊýÉϵÄÊý¼Ó°ÙλÊýµÈÓÚʮλÊýÉϵÄÊý¼Ó¸öλÊýÉϵÄÊýµÄ¸öÊýcnt£¬ÔÙÇó³öËùÓÐÂú×ã´ËÌõ¼þµÄËÄλÊýƽ¾ùÖµpjz1£¬ÒÔ¼°²»Âú×ã´ËÌõ¼þµÄËÄλÊýƽ¾ùÖµpjz2£¬×îºóµ÷ÓÃдº¯ÊýwriteDat()°Ñ½á¹ûÊä³öµ½OUT.DATÎļþ¡£ÀýÈ磺7153,7+1=5+3£¬Ôò¸ÃÊýÂú×ãÌõ¼þ¼ÆËãÆ½¾ùÖµpjz1£¬ÇÒ¸öÊýcnt=cnt+1¡£8129,8+1<>2+9,Ôò¸ÃÊý²»Âú×ãÌõ¼þ¼ÆËãÆ½¾ùÖµpjz2. £ £ jsvalue() £ £ { £ £ int i,g,s,b,q,k=0; £ £ for(i=0;i<300;i++) £ £ {g=a[i]%10; £ £ s=a[i]%100/10; £ £ b=a[i]/100%10; £ £ q=a[i]/1000; £ £ if((q+b)==(s+g)) {cnt++;pjz1+=a[i];} £ £ else {k++;pjz2+=a[i];} £ £ } £ £ pjz1/=cnt; £ £ pjz2/=k;} £ £ ×¢£º¸ÃÌâµÄ¹Ø¼üÔÚÓÚÈ¡³öÒ»¸öÊýµÄ¸ö¡¢Ê®¡¢°Ù¡¢Ç§Î»ÉϵÄÊý¡£a[i]%10½á¹ûΪ¸öλÊý£¬a[i]%100/10ÏȶÔ100ÇóÓàµÃ³öºóÁ½Î»ÊýÈ»ºóÔÙ³ý10£¬ÓÉÓÚΪÕûÊýÒò´ËµÃ³öÉÏÒ»¸öºóÁ½Î»ÊýµÄµÚһλ¡£ÒÀ´ËÀàÍÆ £ £ µÚ4Ì⣺ £ £ ÏÂÁгÌÐòµÄ¹¦ÄÜÊÇ£ºÏȳö5000ÒÔÏ·ûºÏÌõ¼þµÄ×ÔÈ»Êý¡£Ìõ¼þÊÇ£ºÇ§Î»Êý×ÖÓë°ÙλÊý×ÖÖ®ºÍµÈÓÚʮλÊý×ÖÓë¸öλÊý×ÖÖ®ºÍ£¬ÇÒǧλÊý×ÖÓë°ÙλÊý×ÖÖ®ºÍµÈÓÚ¸öλÊý×ÖÓëǧλÊý×ÖÖ®²îµÄÈ·10±¶¡£¼ÆËã²¢Êä³öÕâЩËÄλ×ÔÈ»ÊýµÄ¸öÊýcntÒÔ¼°ÕâЩÊýµÄºÍsum¡£Çë±àдº¯Êýcountvalue £ £ void countValue() £ £ {int i; £ £ for(i=1000;i<5000;i++) £ £ if((i/1000+i/100%10)==(i/10%10+i%10)) £ £ if((i/1000+i/100%10)==(i%10-i/1000)*10) £ £ {cnt++; £ £ sum+=i;}} £ £ ×¢£º¸ÃÌâµÄ¹Ø¼üÒàÊÇÈçºÎÈ¡³ö¸÷λÊý×Ö £ £ £ £ µÚ5Ì⣺ £ £ ÒÑÖªÔÚÎļþIN.DATÖдæÓÐ100¸ö²úÆ·ÏúÊۼǼ£¬Ã¿¸ö²úÆ·ÏúÊۼǼÓɲúÆ·´úÂëdm(×Ö·ûÐÍ4λ)£¬²úÆ·Ãû³Æmc(×Ö·ûÐÍ10λ)£¬µ¥¼Ûdj(ÕûÐÍ)£¬ÊýÁ¿sl(ÕûÐÍ)£¬½ð¶îje(³¤ÕûÐÍ)ËIJ¿·Ö×é³É¡£ÆäÖУº½ð¶î=µ¥¼Û*ÊýÁ¿¼ÆËãµÃ³ö¡£º¯ÊýReadDat()ÊǶÁÈ¡Õâ100¸öÏúÊۼǼ²¢´æÈë½á¹¹Êý×ésellÖС£Çë±àÖÆº¯ÊýSortDat()£¬Æä¹¦ÄÜÒªÇ󣺰´²úÆ·´úÂë´Ó´óµ½Ð¡½øÐÐÅÅÁУ¬Èô²úÆ·´úÂëÏàͬ£¬Ôò°´½ð¶î´Ó´óµ½Ð¡½øÐÐÅÅÁУ¬×îÖÕÅÅÁнá¹ûÈÔ´æÈë½á¹¹Êý×ésellÖУ¬×îºóµ÷Óú¯ÊýWriteDat()°Ñ½á¹ûÊä³öµ½ÎļþOUT10.DATÖС£ £ £ void SortDat() £ £ {int i,j; £ £ PRO swap; £ £ for(i=0;i£ £ for(j=0;j£ £ { if(strcmp(sell[j].dm,sell[j+1].dm)<0) £ £ {swap=sell[j]; £ £ sell[j]=sell[j+1]; £ £ sell[j+1]=swap;} £ £ if(strcmp(sell[j].dm,sell[j+1].dm)==0&&sell[j].je£ £ {swap=sell[j]; £ £ sell[j]=sell[j+1]; £ £ sell[j+1]=swap; £ £ }}} £ £ ×¢£ºÕâʱҲÊDzÉÓÃðÅÝ·¨½øÐÐÅÅÐò¡£ÓëÇ°ÃæµÄðÅÝ·¨ÔÚд·¨ÉÏÓÐËù²»Í¬Çë×¢ÒâÇø·Ö¡£Í¬Ê±×¢Òâ½á¹¹Ìå±äÁ¿µÄÒýÓøñʽ¡£ £ £ £ £ µÚ6Ì⣺ £ £ ÏÂÁгÌÐòµÄ¹¦ÄÜÊÇ£ºÑ¡È¡³ö100ÒÔÉÏ1000ÒÔÄÚËùÓиöλÊý×ÖÓëʮλÊý×ÖÖ®ºÍ±»10³ýËùµÃÓàÊýÇ¡ÊǰÙλÊý×ÖµÄËØÊý£¨Èç293£©¡£¼ÆËã²¢Êä³öÉÏÊöÕâÐ©ËØÊýµÄ¸öÊýCNTÒÔ¼°ÕâÐ©ËØÊýÖµµÄºÍSUM¡£Çë±àдº¯ÊýCOUNTVALUE£¨£©ÊµÏÖ³ÌÐòÒªÇó £ £ void countvalue() £ £ {int i,j; £ £ for(i=100;i<1000;i++) £ £ {for(j=2;j£ £ if(i%j==0) break; £ £ if(j==i&&((i%10+i/10%10)%10==i/100)) £ £ {cnt++; £ £ sum+=i;}}} £ £ ×¢£ºÄÚǶµÄfor()Ñ»·ÓÃÀ´ÅжÏiÒÔǰµÄÊýÓзñÄÜÕû³ýiµÄÊýÈôÄÜÔòÌáǰÖÕֹѻ·£¬µÚ¶þ¸öif()ÖÐj= =iµÄ×÷ÓÃÊÇÅäºÏÇ°ÃæµÄfor()ÅжÏiÊÇ·ñÊÇËØÊý¡£ £ £ £ £ µÚ7Ì⣺ £ £ ÏÂÁгÌÐòµÄ¹¦ÄÜÊÇ£ºÔÚÈýλÕûÊý(100ÖÁ999)ÖÐѰÕÒ·ûºÏÌõ¼þµÄÕûÊý²¢ÒÀ´Î´ÓСµ½´ó´æÈëÊý×éÖУ»Ëü¼ÈÊÇÍêȫƽ·½Êý£¬ÓÖÊÇÁ½Î»Êý×ÖÏàͬ£¬ÀýÈç144¡¢676µÈ¡£ £ £ int jsvalue(int bb[]) £ £ {int i,j,k=0,g,s,b; £ £ for(i=100;i<=999;i++) £ £ {g=i%10; £ £ s=i/10%10; £ £ b=i/100; £ £ if((i==(int)sqrt(i)*(int)sqrt(i))&&(g==s//s==b//b==g)) £ £ bb[k++]=i;} £ £ } £ £ ×¢£º×¢ÒâÔÚi==(int)sqrt(i)*(int)sqrt(i)ÖÐÖ»Óе±iÊÇÍêȫƽ·½Êýʱ¿ªÆ½·½ºóÔÙÈ¡Õû²Å²»»á¶ªÊ§ÈκÎÊý¾Ý¡£ £ £ £ £ µÚ8Ì⣺ £ £ º¯ÊýReadDat()ʵÏÖ´ÓÎļþIN.DATÖжÁȡһƪӢÎÄÎÄÕ´桡Èëµ½×Ö·û´®Êý×éxxÖУ¬Çë±àÖÆº¯ÊýCharConvA()£¬Æäº¯ÊýµÄ¹¦ÄÜÊÇ£ºÒÔÐÐΪµ¥Î»°Ñ×Ö·û´®ÖеÄ×îºóÒ»¸ö×Ö·ûµÄASCIIÖµÓÒÒÆ4λºó¼Ó×îºóµÚ¶þ¸ö×Ö·ûµÄASCIIÖµ£¬µÃµ½×îºóÒ»¸öеÄ×Ö·û£¬×îºóµÚ¶þ¸ö×Ö·ûµÄASCIIÖµÓÒÒÆ4λºó¼Ó×îºóµÚÈý¸ö×Ö·ûµÄASCIIÖµ£¬µÃµ½×îºóµÚ¶þ¸öеÄ×Ö·û£¬ÒÀ´ËÀàÍÆÒ»Ö±´¦Àíµ½µÚ¶þ¸ö×Ö·û£¬µÚÒ»¸ö×Ö·ûµÄASCIIÖµ¼ÓÔ×îºóÒ»¸ö×Ö·ûµÄASCIIÖµ£¬µÃµ½µÚÒ»¸öеÄ×Ö·û£¬µÃµ½µÄÐÂ×Ö·û·Ö±ð´æ·ÅÔÚÔ×Ö·û´®¶ÔÓ¦µÄλÖÃÉÏ¡£×îºóÒÑ´¦ÀíµÄ×Ö·û´®ÈÔ°´ÐÐÖØÐ´æÈë×Ö·û´®Êý×éxxÖС£ £ £ void CharConvA(void) £ £ {int i,j,strl; £ £ char ch; £ £ for(i=0;i£ £ {strl=strlen(xx[i]); £ £ ch=xx[i][strl-1]; £ £ for(j=strl-1;j>0;j--) £ £ {xx[i][j]>>=4; £ £ xx[i][j]+=xx[i][j-1];} £ £ xx[i][0]+=ch;}} £ £ ×¢£ºÔÚ¸ÃÌâÖÐÖ÷ÒªÊÇ¿ØÖƺÃÿһ¸ö×Ö·ûµÄ×ß¶¯£¬ÓÉÓÚ×îºóÒªÓõ½ÔÀ´µÄ×îºóÒ»¸ö×Ö·û¹ÊÏȽ«Æä´æÈëÒ»¸ö×Ö·û±äÁ¿ÖС£ £ £ £ £ µÚ9Ì⣺ £ £ ÏÖÓÐÒ»¸ö10¸öÈË100ÐеÄѡƱÊý¾ÝÎļþIN.DAT£¬ÆäÊý¾Ý´æ·ÅµÄ¸ñʽÊÇÿÌõ¼Ç¼µÄ³¤¶È¾ùΪ10룬µÚһλ±íʾµÚÒ»¸öÈ˵ÄÑ¡ÖÐÇé¿ö£¬µÚ¶þλ±íʾµÚ¶þ¸öÈ˵ÄÑ¡ÖÐÇé¿ö£¬ÒÀ´ËÀàÍÆ £ºÄÚÈݾùΪ×Ö·û0ºÍ1£¬1±íʾ´ËÈ˱»Ñ¡ÖУ¬0±íʾ´ËÈËδ±»Ñ¡ÖУ¬ÈôÒ»ÕÅѡƱÈËÊýСÓÚµÈÓÚ5¸öÈËʱ±»ÈÏΪÎÞЧµÄѡƱ¡£¸ø¶¨º¯ÊýReadDat()µÄ¹¦ÄÜÊǰÑѡƱÊý¾Ý¶ÁÈëµ½×Ö·û´®Êý×éxxÖС£Çë±àÖÆº¯ÊýCountRs()À´Í³¼ÆÃ¿¸öÈ˵ÄѡƱÊý²¢°ÑµÃƱÊýÒÀ´Î´æÈëyy[0]µ½yy[9]ÖС£ £ £ void countrs(void) £ £ {int i,j,count; £ £ for(i=0;i<300;i++) £ £ {count=0; £ £ for(j=0;j<10;j++) £ £ if(xx[i][j]=='1') £ £ count++; £ £ if(count<=5) £ £ continue; £ £ for(j=0;xx[i][j];j++) £ £ if(xx[i][j]=='1') yy[j]++;}} £ £ ×¢£ºÌâĿҪÇó½«ÄÇЩѡÁ˲»³¬¹ý5È˵ÄѡƱÊÓΪÎÞЧƱ£¬¼´Ò»ÕÅѡƱÖÐÈç¹û¡®1¡¯²»³¬¹ý5¸öÔòΪÎÞЧѡƱ¡£¸ÃÌâÏÈÓÃfor()Ñ»·¶Ô100ÐÐѡƱ½øÐÐÑ»·£¬ÔÚÑ»·ÄÚÏȽøÐÐÓÃfor()Ñ»·Êý³öÕâÕÅѡƱÖÐÑ¡ÖеÄÈËÊý£¨count)ÔÙÓÃif()Åжϣ¬Èç¹ûÑ¡ÖÐÈËÊýСÓÚµÈÓÚ5Ôòcontinue¼´ÅжÏÏÂÒ»ÕÅѡƱ£¬·ñÔòÓÃÄÚǶµÄfor()¶ÔÐÐÄÚµÄÊý¾Ý½øÐÐÅжϣ¬×¢ÒâÈç¹ûÊý¾ÝΪ¡®1¡¯Ê±²Å¶Ô¶ÔÓ¦µÄÈËÔö¼Ó1¡£ £ £ £ £ µÚ10Ì⣺ÉèÓÐn¸öÈËÎ§×øÒ»È¦²¢°´Ë³Ê±Õë·½Ïò´Ó1µ½n±àºÅ£¬´ÓµÚs¸öÈË¿ªÊ¼½øÐÐ1µ½mµÄ±¨Êý£¬±¨Êýµ½µÚ¸ömÈË£¬´ËÈ˳öȦ£¬ÔÙ´ÓËûµÄÏÂÒ»¸öÈËÖØÐ¿ªÊ¼1µ½mµÄ±¨Êý£¬Èç´Ë½øÐÐÏÂÈ¥Ö±µ½ËùÓеÄÈ˶¼³öȦΪֹ¡£ÏÖÒªÇó°´³öȦ´ÎÐò£¬Ã¿10ÈËÒ»×飬¸ø³öÕân¸öÈ˵Ä˳Ðò±í¡£Ç뿼Éú±àÖÆº¯ÊýJosegh()ʵÏִ˹¦Äܲ¢µ÷Óú¯ÊýWriteDat()°Ñ½á¹ûpÊä³öµ½ÎļþOUT.DATÖС£Éèn=100,c=1,m=10. £ £ (1)½«1µ½n¸öÈ˵ÄÐòºÅ´æÈëһάÊý×épÖУ» £ £ (2)ÈôµÚi¸öÈ˱¨Êýºó³öȦ£¬Ôò½«p[i]ÖÃÓÚÊý×éµÄµ¹ÊýµÚi¸öλÖÃÉÏ£¬¶øÔÀ´µÚi+1¸öÖÁµ¹ÊýµÚi¸öÔªËØÒÀ´ÎÏòÇ°ÒÆ¶¯Ò»¸öλÖã» £ £ (3)ÖØ¸´µÚ(2)²½Ö±ÖÁȦÖÐֻʣÏÂp[1]Ϊֹ¡£ £ £ void Josegh(void) £ £ {int i,j,s1,w; £ £ s1=s; £ £ for(i=1;i<=n;i++) £ £ p[i-1]=i; £ £ for(i=n;i>=2;i--) £ £ {s1=(s1+m-1)%i; £ £ if(s1==0) £ £ s1=i; £ £ w=p[s1-1]; £ £ for(j=s1;j£ £ p[j-1]=p[j]; £ £ p[i-1]=w;}} £ £ ÌâÖеÚÒ»¸öfor()Ñ»·ÊÇÏȶÔÊý×ép¸³³õÖµ¡£ÔÚµÚ¶þ¸öfor()ÖÐÓÃiÀ´¿ØÖÆÃ»³öȦµÄ×ÜÈËÊý£¬s1=(s1+m-1)%iµÄ×÷ÓÃÊÇÕÒ³ö±¨Êýºó³öȦÈ˵Äϱ꣬ÆäÖжÔiÇóÓàµÄ×÷ÓÃÊÇʹ±¨ £ £ Êý°´È¦½øÐУ¨¼´±¨µ½Î²ºóÓÖ´ÓÍ·±¨£©£¬¸ÃËã·¨ÔںܶàÌâÄ¿Öж¼Óõ½¡£ÓÉÓÚÇóÓàµÄ×÷Óõ±±¨ÊýÕýºÃµ½×îºóÒ»¸öʱs1Ϊ0£¬¹Ê¶øÒª½øÐÐif(s1==0)µÄÅжϡ£ÄÚǶµÄfor()Ñ»·Êǽ«³öȦÒÔºóµÄÈËÒÀ´ÎÍùÇ°ÒÆ¡£
È«¹ú¼ÆËã»úµÈ¼¶¿¼ÊÔÈý¼¶PC¼¼ÊõÉÏ»ú±à³ÌÌâ10µÀ(1)
ÖпƺìÆìϵͳ¹ÜÀí¿¼ÊÔÄ£ÄâÌâ
| |
| ¡¾±à¼£ºÖйúÈ˲ÅÖ¸ÄÏÍø¡¿ ¡¾·µ»Ø¶¥²¿¡¿ |
|
|
|
| |
|
|