一、亲和数
题目:古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身的约数)之和为: 1+2+4+5+10+11+20+22+44+55+110=284。 而284的所有真约数为1、2、4、71、 142,加起来恰好为220。人们对这样的数感到很惊奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。 你的任务就编写一个程序,判断给定的两个数是否是亲和数。请定义一个函数,传入一个数n,返回n的所有真约数之和。
输入说明:输入数据第一行包含一个数M,接下来有M行,每行一个实例,包含两个整数A,B; 其中 0 <= A,B <= 600000
输出说明:对于每个测试实例,如果A和B是亲和数的话输出YES,否则输出NO。
个人总结:使用函数,寻找输入的A与B的真约数和,并且判定是否满足亲和数的定义。
代码:
#include <stdio.h>
int func(int n)
{
int sum=0;
int i;
for (i = 1; i < n; i++)
{
if (n%i == 0)
{
sum = sum + i;
}
}
return sum;
}
int main()
{
int M;
scanf_s("%d", &M);
int A, B;
for (int i = 0; i < M; i++)
{
scanf_s("%d %d", &A, &B);
if (A == func(B) || func(A) == B)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}
二、分拆素数和
题目:把一个偶数拆成两个不同素数的和,有几种拆法呢?
说明:比如10,可以拆成3+7和5+5以及7+3,但是3+7与7+3相同,只算一种,5+5由于两个素数相同,不计算在内。因此,10的拆法只有一种。
输入说明:首先输入一个T(不超过500),然后输入T个正的偶数,其值不会超过10000。
输出说明:对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。
个人总结:最开始要先得到对于输入数的拆成的两个数,使用循环来进行处理,得到两个数后,在使用前面的所用的到过的判断素数的代码,进行判断,要将特殊情况给去除(两个数相同与3+7与7+3相同,只算一种)就可以正确实现该功能。
代码:
#include <stdio.h>
int func(int x)
{
if (x < 2)
{
return 0;
}
for (int i = 2; i < x - 1; i++)
{
if (x%i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int T;
scanf_s("%d", &T);
for (int i = 0; i < T; i++)
{
int n;
int count = 0;
scanf_s("%d", &n);
for (int j = 2; j < n/2; j++)
{
int k = n - j;
if (j != k&&func(j) && func(k))//if(func(j))=func(j)==1
{
count++;
}
}
printf("%d\n", count);
}
return 0;
}
三、哥德巴赫猜想
题目:歌德巴赫猜想指出:任何一个大于2的偶数,都可以表示成两个素数的和。例如:8 = 3+5, 44 = 13+31等。试编程在6至100范围内验证歌德巴赫猜想。
输入说明:先输入一个正整数n,表示有n组测试数据。所有数据前后没有多余的空行,两组数据之间也没有多余的空行。每组输入数据由一行组成,在接下来的n行中,每行有1个偶数a(6≤a≤100),在行首和行尾没有多余的空格。
输出说明:对于每组输入,输出满足歌德巴赫猜想两个素数,小的素数的在前,在行首和行尾没有多余的空格。如果有多组结果,输出的第一个素数要求最小。所有数据前后没有多余的空行,两组数据之间也没有多余的空行。
个人总结:本题跟第二题思路一致,而且更简单。他只要能找到可以使其成立的任何一个大于2的偶数,都可以表示成两个素数的和的条件就可以,只是在输出时需要输出的是最小的,只需要在判断时,第一个满足情况的数据直接break,跳出循环判断,并输出就可以做到。
代码;
#include <stdio.h>
int func(int x)
{
if (x < 2)
{
return 0;
}
for (int i = 2; i < x - 1; i++)
{
if (x%i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int T;
scanf_s("%d", &T);
for (int i = 0; i < T; i++)
{
int n;
scanf_s("%d", &n);
for (int j = 2; j <=n/2; j++)
{
int temp;
int k = n - j;
if (func(j) && func(k))//if(func(j))=func(j)==1
{
printf("%d %d\n", j, k);
break;
}
}
}
return 0;
}
四、英语翻译
1.In 2005, the concept of the Internet of Things (loT) entered thelimelight. The loT should be designed to connect the world'sobjects in a sensory manner. The approach is to tag thingsthrough radio-frequency identification (RFID), feel thingsthrough sensors and wireless networks, and think things bybuilding embedded systems that interact with human activities.
2005 年,"物联网"(Internet of Things,IoT)的概念进入公众视野。物联网旨在以感知的方式连接世界上的各种物体,其实现途径包括:通过射频识别(RFID)技术为物体贴上标签,通过传感器和无线网络"感知"物体,并通过构建与人类活动交互的嵌入式系统来"思考"物体。
2.Ubiquitous computing is a post-desktop model of human-computer interaction in which information processingiSintegrated into everyday objects and activities. For dailyactivities, people may engage in using many pervasive devicessimultaneously. They may not even be aware of the existence ofthe interactive devices. Although the idea is simple, itsapplication is difficult. If all objects in the world were equippedwith minuscule identifying devices, daily life on our planet couldundergo a major transformation.
普适计算是一种后桌面时代的人机交互模型,在该模型中,信息处理被整合进日常物体和活动之中。在日常生活中,人们可能会同时使用多种普适设备,甚至不会意识到这些交互设备的存在。尽管这一理念看似简单,但其实现却极为困难。如果世界上所有物体都配备了微型识别设备,地球上的日常生活将可能发生重大的变革。
3.The loT cannot be realized without systems designandengineering, andinterfaces. Contemp oraryhuman-usercomputer interaction models, whether command-line, menu-driven, or GUI-based, are inappropriate and inadequate to meetubiquitous computing demands. The natural loT paradigm appropriate to a ubiquitous computing world has yet to emerge.Contemporary devices that lend support to ubiquitous computing include smartphones, tablet computers, sensornetworks, RFID tags, smart cards, GPS devices, and others.
物联网的实现离不开系统设计与工程技术以及交互界面。然而,现有的人机交互模型------无论是命令行、菜单驱动,还是基于图形用户界面(GUI)的方式------都不适合、也不足以满足普适计算的需求。适用于普适计算世界的自然物联网交互范式尚未出现。目前支持普适计算的设备包括智能手机、平板电脑、传感器网络、RFID 标签、智能卡、GPS 设备等。
五、单词打卡
