| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1158 人关注过本帖
标题:基础知识,会做的帮忙~
只看楼主 加入收藏
larry886
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-29
收藏
 问题点数:0 回复次数:12 
基础知识,会做的帮忙~
以下都是程序题,请根据题目要求,写出完整的程序。
1、
请输出[font=Times New Roman]1~100[/font]内所有能同时被[font=Times New Roman]3[/font][font=Times New Roman]5[/font]整除的自然数。
2、
[font=Times New Roman]100~1000[/font]之间起数字之和是[font=Times New Roman]5[/font]的整数的个数。
3、
如果一个属恰好等于它的因子之和,则称该数为“完全数”,如[font=Times New Roman]6[/font]的因子是:[font=Times New Roman]1[/font][font=Times New Roman]2[/font][font=Times New Roman]3[/font],而[font=Times New Roman]6= 1+ 2+ 3[/font],所以[font=Times New Roman]6[/font]是完全数,求[font=Times New Roman]1000[/font]以内的所有完全数,并将它输出到屏幕上[font=Times New Roman] [/font]
4、
根据下面的数学魔术原理编写一个小游戏。
——数学魔术——
情景:我有五张卡片,上面写着数字。
1135791113151719212325272931
22367101114151819222326273031
34567121314152021222328293031
4891011121314152425262728293031
516171819202122232425262728293031
你心中想一个0-31中的一个数字。告诉我这个数字在那几张卡片上有(不能多也不能少,有的全说上,没有的打死也不能说)。我便会知道你想的是什么数字。
比如观众想到21,查看卡片得知“135”张卡片上都有这数字,那么此魔术师就可以计算出这个数字为:

原理:可以知道0-31数字可以用52进制数;其实,那五张卡片就是各代表一位。每张卡片上的数字就是代表这个数字在表示成二进制时这一位为1。比如数字21表示成5位的二进制是10101,这5位二进制的第1位(最右边一位)和第3位、第5位都是“1”,那么就是在第135号卡片上都有这个数字。
提示:由于要让用户输入卡片号的话,数字所在卡片的个数不确定;你可改成让他检查“下列数字是否包含你所想的数字(Y/N):”,通过每张卡片的确认来进行计算。另外,乘2也可以通过移位运算符实现(略)。
[font=Times New Roman] [/font]
5、
[font=Times New Roman]”*”[/font]画出[font=Times New Roman]0~360[/font]度范围内的正弦曲线。(提示:计算正弦的值需要用到正弦函数[font=Times New Roman]sin(double x);[/font]因此需要包含头文件[font=Times New Roman]”math.h”[/font][font=Times New Roman]sin[/font]函数的参数用的是弧度。比如要求[font=Times New Roman]30[/font]度的正弦值,可以这样:
[font=Times New Roman]double r = 30 /180 * PI
;// PI
[/font]
是自定义的圆周率常量
[font=Times New Roman]double y = sin(r);[/font]
)。
[font=Times New Roman] [/font]
6、
一辆汽车撞人后逃跑。四个目击者提供如下线索:
甲:牌照三、四位相同;乙:牌号为31××××
丙:牌照五、六位相同;丁:三~六位是一个整数的平方。
请根据提供的线索求出牌照号码
7、
马克思手稿中有一道趣味数学问题:有[font=Times New Roman]30[/font]个人,其中有男人、女人和小孩,在一家饭馆吃饭花了[font=Times New Roman]50[/font]先令;每个男人花[font=Times New Roman]3[/font]先令,每个女人花[font=Times New Roman]2[/font]先令,每个小孩花[font=Times New Roman]1[/font]先令;问男人、女人和小孩各有几人?
(提示:题目分析与算法设计
[font=Times New Roman]   
[/font]
[font=Times New Roman]x,y,z[/font]分别代表男人、女人和小孩。按题目的要求,可得到下面的方程:
[font=Times New Roman]                   x+y+z=30            (1)
                   3x+2y+z=50          (2)
   
[/font]
用方程程序求此不定方程的非负整数解,可先通过[font=Times New Roman](2)-(1)[/font]式得:
[font=Times New Roman]                   2x+y=20             (3)
[/font]
[font=Times New Roman](3)[/font]式可知,[font=Times New Roman]x[/font]变化范围是[font=Times New Roman]0~10[/font]
8、
24


[font=Verdana]输入
[/font]1-24[font=宋体]范围的四个整数,输出对应的表达式[/font] + - * /[font=宋体],使计算结果是[/font]24
9、
[font=Verdana]猜数游戏[/font]
[font=宋体]由计算机随机产生一个[/font]4[font=Verdana]位数,请人猜这个数字是多少。人输入数字后,计算机提示输入的数字中几位数字是对的,有几位数的位置是对的。将结果显示出来,提示人再猜,直到猜对为止。最后输出总共用了多少次猜猜对。[/font]
[font=宋体]例如:计算机产生的随机数是:[/font]1234
[font=宋体]人输入的数[/font]
[font=宋体]由几位数字是对的[/font]
[font=Verdana]有几位数字的位置是对的[/font]
1122
2
1

3344
2
1

3312
3
0

4123
4
0

1243
4
2

1234
4
4

[font=Verdana]计算机产生随机数请参照课件的猜数游戏的那个例子。[/font]
10[font=Verdana]从键盘输入20个从0~99的整数,分类统计每个数从0~99之间各数输入了多少次。[/font]
搜索更多相关主题的帖子: 基础 知识 font 
2007-11-29 10:42
longrm
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2007-6-18
收藏
得分:0 
汗,楼主这样也太懒了

java群: 55919698

My blog: http://hi.baidu.com/longrm
2007-11-29 11:03
beyond0702
Rank: 1
来 自: 桂 林
等 级:新手上路
帖 子:219
专家分:0
注 册:2007-11-17
收藏
得分:0 
第一题:
#include<iostream.h>
main( )
{
  for ( int a=1;a<=100;a++)
      if ( a%3==0&&a%5==0)
          cout<<a<<" , "<<endl;
}
2007-11-29 12:18
larry886
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-29
收藏
得分:0 
using namespace std;
void main()
{
for(int n=1;n<=100;n++)
if(n%15==0)
cout<<n<<endl;
}

我的第一题.不是懒,我是想看你们的和我的差多少呀~
2007-11-29 13:10
larry886
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-29
收藏
得分:0 
原帖由 [bold][underline]beyond0702[/underline][/bold] 于 2007-11-29 12:18 发表 [url=http://bbs.][/url]
第一题:
#include
main( )
{
  for ( int a=1;a
T7

------ 已启动生成: 项目: larry, 配置: Debug Win32 ------
正在编译...
1.cpp
.\1.cpp(10) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
生成日志保存在“file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\larry\larry\Debug\BuildLog.htm”
larry - 1 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========

哪里出错了?我没学过你这种开头的~不知道你错在哪里~
2007-11-29 13:15
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
第一题
#include<iostream>
using namespace std;
int main()
{
for( int i = 15; i < 100; i += 15 )
    cout << i;
return 0;
}
2007-11-29 13:41
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
第二题
#include<iostream>

using namespace std;

int main()
{
    int i, j, count = 0;

    for( i = 1; i <= 5; i++ )
        for( j = 0; j <= 5 - i; j++ )
            count++;

    cout << count << endl;

    return 0;
}
2007-11-29 13:51
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
第三题
#include<iostream>

using namespace std;

int main()
{
    int i, j, m;
    for( i = 1; i < 1000; i++ )    {
        m = 0;
        for( j = 1; j < i; j++ )
            if( i % j == 0 )    m += j;
        if( i == m )
            cout << m << endl;
    }
    return 0;
}
2007-11-29 14:11
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
第四题
#include<iostream>
#include<iomanip>

using namespace std;

int main()
{
    int a[][16] = { 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,
        2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,
        4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,
        8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,
        16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 };

    int i, j, m = 0;
    char c;

    for( i = 0; i < 5; i++ )    {
        for( j = 0; j < 16; j++ )
            cout << setw( 3 ) << a[i][j];
        cout << " (Y/N)?";
        cin >> c;
        if( c == 'Y' || c == 'y' )    m += 1 << i;
    }

    cout << m << endl;

    return 0;
}
2007-11-29 14:34
duccdd
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-10-25
收藏
得分:0 
第五题不会
第六题
#include<iostream>
#include"math.h"

using namespace std;

int main()
{
    int i, m, m1, m2, m3, m4;
    for( i = (int)sqrt( 1000.0 ) + 1; ( m = i * i ) < 10000; i++ )    {
        m1 = m / 1000;
        m2 = m % 1000 / 100;
        m3 = m % 100 / 10;
        m4 = m % 10;
        if( m1 == m2 && m3 == m4 )
            cout << "31" << m << endl;
    }
    return 0;
}
2007-11-29 14:50
快速回复:基础知识,会做的帮忙~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027552 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved