计算机概论A—Coursera—北京大学
第一次在线提交作业
=====
第1题:1:晶晶赴约会
=====
总时间限制:
1000ms
内存限制:
65536kB
描述
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。
输入
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
输出
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都是大写字母!
样例输入
2
样例输出
YES
Code:
#include
using namespace std;
int main()
{
int week;
cin >> week;
if(week == 1 || week == 3 || week == 5)
{
cout << "NO" <
}
else
{
cout << "YES" <
}
return 0;
}
=====
第2题:2:奇数求和
=====
总时间限制:
1000ms
内存限制:
65536kB
描述
计算正整数 m 到 n(包括m 和 n )之间的所有奇数的和,其中,m 不大于 n,且n 不大于300。例如 m=3, n=12, 其和则为:3+5+7+9+11=35
输入
两个数 m 和 n,两个数以空格间隔,其中 0<=m <= n <= 300 。
输出
奇数之和
样例输入
7 15
样例输出
55
Code:
#include
using namespace std;
int main()
{
int m, n, total = 0;
cin >> m >> n;
for(int i = m; i <= n; i++)
{
if(i % 2 == 1)
total += i;
}
cout << total << endl;
return 0;
}
=====
第3题:3:整数的个数
=====
总时间限制:
1000ms
内存限制:
65536kB
描述
给定k(1
输入
输入有两行:第一行包含一个正整数k,第二行包含k个正整数,每两个正整数用一个空格分开。
输出
输出有三行,第一行为1出现的次数,,第二行为5出现的次数,第三行为10出现的次数。
样例输入
5
1 5 8 10 5
样例输出
1
2
1
Code:
#include
using namespace std;
int main()
{
int n, num, count1 = 0, count5 = 0, count10 = 0;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> num;
if(num == 1)
count1++;
if(num == 5)
count5++;
if(num == 10)
count10++;
}
cout << count1 << endl
<< count5 << endl
<< count10 << endl;
return 0;
}
=====
第4题:4:1的个数
=====
总时间限制:
1000ms
内存限制:
65536kB
描述
给定一个十进制整数N,求其对应2进制数中1的个数
输入
第一个整数表示有N组测试数据,其后N行是对应的测试数据,每行为一个整数。
输出
N行,每行输出对应一个输入。
样例输入
4
2
100
1000
66
样例输出
1
3
6
2
Code:
#include
using namespace std;
int main()
{
int n,i,num,count;
cin >> n;
for(i = 0; i < n;i++)
{
cin >> num;
count = 0;
do
{
if((num % 2) == 1)
count++;
num /= 2;
}while(num != 0);
cout << count << endl;
}
return 0;
}
=====
第5题:5:数组逆序重放
=====
总时间限制:
1000ms
内存限制:
6553