回 帖 发 新 帖 刷新版面

主题:[讨论]做出一题+30分!快快来帮忙呀!

2、检验3105+4105能否被5,7,11,13,49,181,379整除。
3、1234的倒置是4321。找出所有的四位数和五位数,且它们的倒置是原数的4倍。
4、打印输出31990的首四位数字和末四位数字。
5、现有五件物品,重量分别为4,8,10,9,6.5公斤,它们的价值分别为12,21,24,17,10.5元。有一个背包,装入物品总量不得超过19公斤,该选哪几件物品放入,使总价值最大?
6、32+42=52,3,4,5,是一组勾股数。找出3个数中有两个数仅相差1的最大数不超过50的所有勾股数。
7、韩信点兵:有兵一队,若列成5列纵队,则末行4人;若列成6列纵队,则末行5人;若列成7列纵队,则末行6人;成11列纵队,则末行10人;求兵数最少有多少人?
8、数列1,7,18,34,55,81,中的每一个数都被称作七边形数,求前100个七边形数的和。
10、下图是一个由四个顶点和3条联线组成的树形图,它的顶点标号是自然数序列1,2,3,...并且这样标号方法有一个特点,即把相邻顶点的差标在这边上,刚好也是自然数序列1,2,3,...这样的标号叫优美标号,请给出右图的有序树所有的优美标号方法。
           2     3             1    6
             \/                 \/
       |          |
              |          |
                                   |
     ( 下图 )          
                 (右图)    
11、试求满足N500≤7300的最大正整数N。
12、从1,2,3 ......中可选出50个不同的数,使得它们两两相减都不等于13,求满足这样条件的最小的50个数。
13、有一块长80cm,宽50cm的长方形硬纸板,从它的四个角各剪去一个边不是Xcm的小正方形后,可将余下部分做成一个无盖点心盒,请问    X应取多长,才能使点心盒有最大容积V。
15、由101个7构成的整数77...77,除以101,其商与余数为何?
16、园形铁皮的半径为60cm,剪去一个扇形后,用余下的部分可以卷成一个园锥,剪去的园心角X为多少时,才能使围成的园锥有最大的体积V。
17、数列1,6,15,28,45,66,......中每一个数都是被称作为六边数,求前100个六边形数之和。(671650)
18、有一组13个齿轮互相啮合,啮数依次分别为6,8,9,10,12,14,15,16,18,20,21,22,24,问在转动过程中同时啮合的各齿到下次再同时啮合时,各齿轮分别转过了多少圈?
19、N1、N2、N3进制数的279分别等于10 进制数的1038,2019,2704,求N1、N2、N3。(21,30,35)
20、用随机数产生集合A,B, A有40个元素,A={ x:x为整数,1≤x≤50}, B有30个元素,B={y:y为整数,1≤y≤50},A,B分别都没有重复的元素,求A与B的交集由哪些元素组成。
21、一个合数,去掉高位,剩下的数仍是合数,再去掉剩下的数的最高位,余留下来的数还是合数,......一直到最后剩下的一位数仍是合数,这样的数称为纯粹合数,求出所有三位数中的纯粹合数。
22、编程求出符合下列要求的五个整数:
    (1)这5个加在一起的和为23;
    (2)从这5个数中选取不同的数作为加法,可以得到1至23中的所有整数。
24、编写程序模似产生500个人的生日(假定以一年12个月,单月31日,双月30日来计),打印出相同的生日及其对应的人数。
25、求589+489+389除以89的余数。
26、任意一个各位数字之和不是1的数,例如:1989,它的各位数字的平方12+92+82=227,227的各位数字的平方22+22+72=57,...这样一直下去,会得到一组数的重复序列,我们把这组数叫怪圈。对于任意一个起始数(各位数字之和不是1),都会得到同一组数组组成的怪圈,求这个怪圈。
27、按次序写出 2的乘幂: 2,4,8,16,32,64,128,256,512,1024,2048,4096,...,可以注意到这些数的末位呈周期性出现:2,4,8,6,2,4, 8,6,...,周期为4。由2 的幂组成的序列,它们的十位数字也会有一个类似的周期,找出这个周期,并找出组成这个周期的数的序列。
28、等式:1-2-3+4-5+6=9 不成立。
    试用计算机在等式中加一对括号,使等式成立,不能改变等式中数字和运行符号的位置。把成立的等式打印出来。
29、有一个整数,若加上100恰为某数的平方,如果加上168,则又为另一数的平方,编一程序求出此数。
30、将1---9这九个数字分成三组,每个数字只能用一次,每组三个数拼成三位数,并每个三位数都是个完全平方数。请找出这三个位数。
31、一本书的页码是从1到N的。把所有这些页码加起来的时候,其中有一个页码被错加了两次,结果所得的和是1989,这个被加了两次的页码是多少?
32、小于等于50000且含有奇数个“5”的五位数共有多少个?
33、三角形的三条边长均为正整数,其中有一条边长是7,但它不是最短的边。求出所有符合条件的三角形的三边长度。
34、1000以内的某几个连续偶数之和等于1000,求这些连续偶数。
35、有黑白棋子各N只(计算机上可用1和0代替),其排列如图所示,每一步仅允许将相邻的两个棋子交换位置,最后要使队形成为黑白交错排列。
          111..11000..00 ──→ 101010..1010
36、设f(x)=|x-p-3|+|x-10│+│x-p-8│其中0<p<15,试决定在区间    p≤x≤15上f(x)的最小值。          
37、若两个素数之和的一半仍然是一个素数,则这三个素数可以组成一个等差素数组。
    如:(3+7)/2=5,则(3,5,7)为一个等差素数组。编程打印出30以内所有的等差素数组。
38、一对四位数中,一个数的首末两个数字对调就是另一个数(如1234 和4321,1231和1231都是这样的数对),求这样的两数之和是四位数、而且是完全平方数的数对。
39、集合M的元素的定义如下:
    (1)数1属于M;
    (2)若X属于M,则A=2X+1,B=3X+1,C=5X+1,也属于M;
(3)再没有别的数属于M (M={1,3,4,6,7,9,10,13,15,16......})。
如果M中的元素是按递增次序排列的,求出其中的第 201,202和203个元素。
40、城市的街道图如下:
      ┌──┬──┬──┬──┐乙 
      ├──┼──┴──┼──┤   
      ├──┼──┬──┼──┤   
      │    └──┴──┴──┘   
      甲                           
    问从甲地去到乙地可以有多少条最短路线?
41、有些两位数有如下性质:将这个数的十位数数字的一次方,加上个位数字的二次方,正好等于原来这个两位数,如:89=81+92,这样的数叫两位数的偏水仙花数,还可以有三位数的偏水仙花数,如:
    135=11+32+53也可以有四位数的偏水仙花数,编程求出所有两位到四位数的偏水仙花数。
46、把所有3的方幂及互不相等的3的方幂的和排列成一个递增序列:1,3,4 9,10,12,13,....,求这个序列的300项是多少?
47、现有一个三阶行列式,试编写程序来判断该行列式的所有元素是否与另一行列式中的所元素相同,相同打印“ YES”,否则打印“NO”。    如:    
│1    2    3 │           │1    20    3 │
        A= │4    5    6 │        B= │7    21    8 │
           │7    8    9 │           │6    50   30 │
48、下面给出6个数,问哪几个数相加所得的和与10最接近。
    ( 3.1,  1.7,  2,  5.3,  0.9,  7.2 )
49、随机产生20个1---100之间的整数,打印出来,然后把其中的素数打印出来,把最大的素数打印出来。
50、编写一个程序,使其能将从键盘输入的0---255之间的任一个十进制数(正整数)转换成相应的二进制数,并打印输出。

回复列表 (共43个回复)

11 楼

13.
#include<stdio.h>
main()
{
     int length=80,width=50,x,v,i,temp=0;
     int volume[24];
     for(x=1;x<25;x++)
     {
          v=(80-2*x)*(50-2*x)*x;
         volume[x]=v;
         if(temp<volume[x])
             temp=volume[x];         
     }
     for(i=0;i<25;i++)
     {
          if(temp==volume[i])
          {
          printf("The value of x is %d.\n",i);
            break;
        }     
     }
}

12 楼

17.
#if 1
#include<stdio.h>
main()
{
     unsigned int num[100];
     unsigned int sum,n;
     num[0]=1;
     sum=num[0];
     for(n=1;n<100;n++)
     {
          num[n]=num[n-1]+1+n*4;
         sum+=num[n];
     }
     printf("%d",sum);
}
#endif

13 楼

15.
#include<stdio.h>
main()
{
     int i,n,a,b;
     printf("The amount(amount>=4) of 7 is:");
     scanf("%d",&n);
     a=n/4;
     b=n%4;
     switch(b)
     {
          case 0:                  
              printf("The divisor is:\n77");
              for(i=0;i<a-1;i++)
                  printf("0077");
              printf("\nThe residual is:0\n");
              break;              
          case 3:
              printf("The divisor is:\n77");
              for(i=0;i<a-1;i++)
                  printf("0077");                  
              printf("007\nThe residual is:7\n");
              break; 
          case 2:
              printf("The divisor is:\n77");
              for(i=0;i<a-1;i++)
                  printf("0077");
              printf("00\nThe residual is:77\n");
              break; 
          case 1:
              printf("The divisor is:\n77");
              for(i=0;i<a-1;i++)
                  printf("0077");
              printf("0\nThe residual is:70\n");
              break; 
          default:break;
     }         
}

14 楼

[quote]只要检验3105+4105能否被5,7,11,13,49,181,379的和整除就可以了.
用C++编的主要代码是:long&nbsp;int&nbsp;a,b;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a=3105+4105;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b=5+7+11+13+49+181+379;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(a%b==0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout<<"可以"<<endl;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout<<"不可以"<<endl;[/quote]
如果检验7+17能否被5、7整除的话怎么办呢?

15 楼

30.
#include<stdio.h>
#include<math.h>
main()
{
 int i,j,q=0,temp,value,fig=0,k=0,m=0,length=0,num[25],number[40],figure[3];
     bool flag=1;
     for(i=10;i<sqrt(1000);i++)
     {
          temp=i*i;
          value=temp;
          while(temp/10)
         {
              number[length]=temp%10;
              temp/=10;
              length++;
         }
         number[length]=temp%10;
         if((number[0]!=number[1])&&(number[1]!=number[2])&&(number[0]!=number[2]))
         {
             num[k]=value;
             k++;
         }
         length=0;
    }//先找出各位数字不同的3位平方数, 一共k个
    for(i=0;i<k;i++)
    {
         printf("%4d",num[i]);
         m++;
          if(m%5==0)
              printf("\n");
    }
    printf("\n");
    length=0;
    while(q<k)
    {
         temp=num[q];
         while(temp/10)
         {
              number[length]=temp%10;
             temp/=10;
             length++;
         }
         number[length]=temp%10;
         length++;
         figure[fig]=num[q];
         fig++;
        for(i=q+1;i<k;i++)
        {
             flag=1;
             temp=num[i];
             while(temp/10)
             {
                  number[length]=temp%10;
                  temp/=10;
                  length++;
             }
             number[length]=temp%10;
             length++;
              for(j=length-3;j<length;j++)
                 for(m=0;m<length-3;m++)
                      if(number[j]==number[m])
                      {
                           length-=3;
                           flag=0;
                           break;                   
                      }
             if(flag==1)//若全不等
             {
                 figure[fig]=num[i];    
                  fig++;
              }
         }
        if(fig==3)
            break;
        else
        {
             fig=0;
             length=0;
             q++;
         }
    }
    for(i=0;i<fig;i++)
         printf("%4d",figure[i]);
    printf("\n");
}

16 楼

29.
#include<stdio.h>
#include<math.h>
main()
{
     int i,temp;
     for(i=0;i<1000;i++)
     {
         temp=sqrt(i+100);
         if((i+100)==(temp*temp))
         {
              temp=sqrt(i+168);
              if((i+168)==(temp*temp))
              {
                   printf("The number is %d.\n",i);
                   break;
              }
         }
     }
}

17 楼

31.
#include<stdio.h>
main()
{
     int i,sum=0;
     for(i=1;;i++)
     {
          sum+=i;
          if((1989-sum)<i)
              break;
     }
     printf("The total number of the page is %d.\n",i);
     printf("The wrong number of the page is %d.\n",1989-sum);
}

18 楼

32.
#include<stdio.h>
main()
{
     int i,j,m=0,temp,number=0,length=0,num[5];
     for(i=10000;i<=50000;i++)
     {
          temp=i;
          while(temp/10)
         {
              num[length]=temp%10;
              temp/=10;
              length++;
         }
         num[length]=temp%10;
         for(j=0;j<5;j++)
         {
              if(num[j]==5)
              m++;
         }
         if(m%2==1)
             number++;
         length=0;
         m=0;
     }
     printf("%d\n",number);
}

19 楼

32.
#include<stdio.h>
main()
{
     int i,j,m=0,temp,number=0,length=0,num[5];
     for(i=10000;i<=50000;i++)
     {
          temp=i;
          while(temp/10)
         {
              num[length]=temp%10;
              temp/=10;
              length++;
         }
         num[length]=temp%10;
         for(j=0;j<5;j++)
         {
              if(num[j]==5)
              m++;
         }
         if(m%2==1)
             number++;
         length=0;
         m=0;
     }
     printf("%d\n",number);
}

20 楼

33.
main()
{
     int i,j;
     for(i=1;i<7;i++)
     for(j=i;j<7+i;j++)
     {
          if(((j-i)<7)&&((j+i)>7))
          printf("the three border is %3d%3d  7\n",i,j);
     }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册