倒数数列
问题描述
编写程序计算并输出
s=sumk=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;
}
个人总结
1. 四舍五入的函数库是iomanip,如果不记得可以直接用万能头文件
2. 如果一个浮点数需要与一个整型变量计算,最好将整型变量也改变为浮点数
#include <iostream>
#include <iomanip>
//#include <vector>
//#include <set>
//#include <string>
//#include <cmath>
//#include <algorithm>
//#include <sstream>
//#include <bits/stdc++.h>
//#define maxint 100000
using namespace std;
double total(int n){
double sum;
for(int i = 1 ;i <= n; i++){
sum += double(1)/double(i);
}
return sum;
}
int main(){
int n;
cin>>n;
cout<<fixed<<setprecision(3)<<total(n)<<endl;
return 0;
}
排列数
问题描述
编写程序计算排列数
Pmn =m! / (m-n)!
要求定义函数fact(n)计算n的阶乘。
main函数中可使用如下形式调用:fact(m)/fact(m-n));
个人总结
1. 2是最小的偶素数,且偶数一定不是素数
#include <iostream>
#include <cmath>
using namespace std;
bool ifsushu(int n) {
if (n <= 1) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
int sqrt_n = sqrt(n);
for (int i = 3; i <= sqrt_n; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
int count_sum(int num) {
int count = 0;
for (int i = 3; i <= num / 2; i += 2) {
int j = num - i;
if (ifsushu(i) && ifsushu(j) && i != j) {
count++;
}
}
return count;
}
int main() {
int t;
cin >> t;
while (t--) {
int num;
cin >> num;
if (num <= 4 || num % 2 != 0) {
cout << 0 << endl;
continue;
}
cout << count_sum(num) << endl;
}
return 0;
}
亲和数
问题描述
古希腊数学家毕达哥拉斯在自然数研究中发现,
220的所有真约数(即不是自身的约数)之和为:
1+2+4+5+10+11+20+22+44+55+110=284。
而284的所有真约数为1、2、4、71、 142,加起来恰好为220。
人们对这样的数感到很惊奇,并称之为亲和数。
一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则这两个数就是亲和数。
你的任务就编写一个程序,判断给定的两个数是否是亲和数。
请定义一个函数,传入一个数n,返回n的所有真约数之和。
个人总结
1. 用两个变量存储这两个数,并且直接分解用两个sum记录,suma=b,sumb=a时成立。
#include <iostream>
//#include <vector>
//#include <string>
//#include <algorithm>
//#include <cmath>
//#include <iomanip>
//#include <set>
//#include <sstream>
//#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
while(n--){
int a,b;
cin >> a >> b;
int sum_a = 0,sum_b = 0;
for(int i = 1; i < a ;i ++){
if(a % i == 0){
sum_a += i;
}
}
for(int j = 1; j < b ;j ++){
if(b % j == 0){
sum_b += j;
}
}
if((sum_a == b) && (sum_b == a)){
cout << "YES" << endl;
}
else{
cout << "NO" << endl;
}
}
return 0;
}
计算机英语翻译
第一段
计算机是一种电子设备,它能接收一套指令或一个程序,然后通过对数字数据进行运算或对其他形式的信息进行处理来执行该程序。
第二段
要不是由于计算机的发展,现代的高科技世界是不可能产生的。不同类型和大小的计算机在整个社会被用于存储和处理各种数据,从保密政府文件、银行交易到私人家庭账目。计算机通过自动化技术开辟了制造业的新纪元,而且它们也增强了现代通信系统的性能。在几乎每一个研究和应用技术领域,从构建宇宙模型到产生明天的气象报告,计算机都是必要的工具,并且它们的应用本身就开辟了人们推测的新领域。数据库服务和计算机网络使各种各样的信息源可供使用。同样的先进技术也使侵犯个人隐私和商业秘密成为可能。计算机犯罪已经成为作为现代技术代价组成部分的许多风险之一。
单词打卡

596



被折叠的 条评论
为什么被折叠?



