素数表(函数)-基础题58th + 倒数数列(函数)-基础题59th + 排列数(函数)-基础题60th
本文包含三个编程题解和一段技术翻译: 素数表:实现判断素数的函数,输出m到n间的素数(每行10个) 倒数数列:计算1到1/n的和,要求使用自定义函数实现 排列数:通过阶乘函数计算排列数P(m,n)=m!/(m-n)! 技术翻译部分对比了人工与AI对"pictofit应用"、"物联网"和"普适计算"概念的翻译,展示了虚拟试衣技术原理和物联网
素数表
属于函数的内容
题目
- 问题描述
从键盘输入m,n
在屏幕上按每行10个的格式输出m~n之间的全部素数。
请用函数判断一个数是否素数。 - 输入说明
两个整数m n - 输出说明
[m,n]之间(包含m和n)的素数,每行10个,每个数后跟一个空格。 - 输入范例
2 33
- 输出范例
2 3 5 7 11 13 17 19 23 29
31
解题思路
- 解答这题的思路比较简单,就是先编写一个函数判断是否是素数,然后在主函数中使用循环i从m到n,然后是素数的就放入result数组中,最后根据要求输出result数组即可。
整体代码
#include<bits/stdc++.h>
using namespace std;
bool issushu(int x){
bool flag=true;
if(x<=1){
flag=false;
}
for(int i=2;i*i<=x;i++){
if(x%i==0){
flag=false;
break;
}
}
return flag;
}
int main(){
int m,n;
cin>>m>>n;
vector<int> result;
for(int i=m;i<=n;i++){
if(issushu(i)){
result.push_back(i);
}
}
for(int i=0;i<result.size();i++){
cout<<result[i]<<" ";
if(i%10==9){
cout<<endl;
}
}
return 0;
}
注意事项
- 注意输出格式。
倒数数列
属于函数的内容
题目
- 问题描述
编写程序计算并输出
s=sum k=1n (1/k) = 1+1/2+1/3+…+1/n 的值。
要求定义并调用函数total(n)计算1+1/2+1/3+…+1/n
注意:此题的main函数如下所示:
int main(){
int n;
scanf(“%d”,&n);
printf(“%.3f\n”,total(n));
return 0;
}
或者:
int main(){
int n;
cin>>n;
cout<<fixed<<setprecision(3)<<total(n)<<endl;
return 0;
} - 输入说明
正整数n,表示前n项求和 - 输出说明
s,表示前n项的和
首尾无空格 - 输入范例
2
- 输出范例
1.500
解题思路
- 本题较为简单,total函数中,初始化double total=0,然后只需要利用for循环i遍历1 ~ n,total+=1.000/i就可以得到正确的返回值。
整体代码
#include<bits/stdc++.h>
using namespace std;
double total(int n){
double total=0;
for(int i=1;i<=n;i++){
total+=1.000/i;
}
return total;
}
int main(){
int n;
cin>>n;
cout<<fixed<<setprecision(3)<<total(n)<<endl;
return 0;
}
注意事项
- 注意变量的类型。
排列数
属于函数的内容
题目
- 问题描述
编写程序计算排列数
P mn =m! / (m-n)!
要求定义函数fact(n)计算n的阶乘。
main函数中可使用如下形式调用:fact(m)/fact(m-n)); - 输入说明
两个数m、n - 输出说明
P mn - 输入范例
3 2
- 输出范例
6
解题思路
- 本题思想很简单,主要是题干没有给出m和n的范围,多考虑了溢出的情况,其实完全可以使用int,这道题我尝试了一下简单的递归函数,如下:
int fact(int n){
int result=n;
if(n>1){
result*=fact(n-1);
}else{
result=1;
}
return result;
}
整体代码
#include<bits/stdc++.h>
using namespace std;
int fact(int n){
int result=n;
if(n>1){
result*=fact(n-1);
}else{
result=1;
}
return result;
}
int main(){
int m,n;
cin>>m>>n;
int result=fact(m)/fact(m-n);
cout<<result<<endl;
return 0;
}
注意事项
- 注意0!=1。
英文段落翻译
自己翻译
pictofit是一个虚拟试衣间应用,它让使用者从网上的时尚店铺中,预试一下服装在他们自己的身体上(图12B-4)。服装可以自动的匹配穿戴者的尺寸。另外,身体的数据被注册,并且让他可行的协助购买数据的进入。
物联网
在2005年,物联网的概念,进入了公众注意的中心。物联网应当被设计去连接这个世界的物体,用一种感知的方式。这种方式是通过射频识别给物体打上标签,通过传感器和无线网络感知事情,并且通过和人类活动交互的嵌入式系统来思考事物。
1.普适计算
普适计算是一个人类计算机交互的后桌面时代的模型,在其中,信息进程是被集成在每天的物品和活动中,人们可能同时使用许多普遍的设备参与其中。他们可能甚至不会意识到交互设备的存在。虽然这个想法是简单的,但是它的应用是困难的。如果在世界上的所有物品都被装配上微小的识别设备,在我们的星球上的日常生活,可能经历一个巨大的转变。
AI翻译
Pictofit 是一款虚拟试衣间应用,它允许用户在自己的身体上预览来自在线时尚商店的服装(图12B-4)。服装会自动调整以匹配穿着者的尺寸。此外,系统还会估算并提供身体尺寸数据,以协助用户输入购买信息。
物联网
2005年,“物联网”概念进入大众视野。物联网的设计目标是以感知的方式连接世界万物。其实现途径是:通过射频识别(RFID)标记物体,通过传感器与无线网络感知物体,并通过构建与人类活动交互的嵌入式系统来实现物体的智能。
I. 普适计算
普适计算是一种后桌面模式的人机交互,其信息处理能力被融入到日常物品与活动中。在日常活动中,人们可能会同时使用多个无处不在的设备,甚至可能意识不到这些交互设备的存在。尽管这一理念很简单,但其应用却十分困难。如果世界上的所有物体都配备了微小的识别设备,我们星球上的日常生活将可能经历一场巨大的变革。
单词打卡

下一篇
待续
更多推荐


所有评论(0)