成都优秀网站建设,asp.net做的网站要放到网上空间去要放哪些文件上去,学做网站零基础,免费制作相册视频网站模板文章目录 一、哥德巴赫猜想二、哥德巴赫猜想2三、打印成绩单四、成绩输入输出五、数组输出奇数位偶数位 一、哥德巴赫猜想
【试题描述】 哥德巴赫提出了以下的猜想#xff1a;任何一个大于 2 的偶数都可以表示成 2 个质数之和。 质数是指除了 1 和本身之外没有其他约数的数任何一个大于 2 的偶数都可以表示成 2 个质数之和。 质数是指除了 1 和本身之外没有其他约数的数 如 2 和 11 都是质数而 6 不是质数因为 6 除了约数 1 和 6 之外还有约数 2 和 3。 需要特别说明的是 1 不是质数。 请你编一个程序验证哥德巴赫猜想 【输入要求】 n 的值 【输出要求】 多组由两个素数之和组成的表达式 每组第一个数字要从小到大排列 【输入样例】 14 【输出样例】 311 77
#include bits/stdc.h
using namespace std; // 函数用于检查一个数是否为质数
bool isPrime(int n) { //小于等于1的数不是质数if (n 1) return false; //2是质数if (n 2) return true; //除2外能被2整除的数不是质数if (n % 2 0) return false; for (int i 3; i n; i 1) {//能被小于自身的数整除说明不是质数if (n % i 0) return false; } return true;
} // 函数用于验证哥德巴赫猜想
void goldbachConjecture(int n) { if (n 2 || n % 2 ! 0) { cout 输入错误请输入大于 2 的偶数. endl; return; } //从2开始循环找到满足条件的两个质数for (int i 2; i n / 2; i) {//第一个质数if (isPrime(i)) { //第二个质数int second n - i; if (isPrime(second)) { //质数之和并输出结果 cout i second endl; }} } } int main() { //定义变量n存放输入的大于2的偶数int n; //输入大于 2 的偶数cin n; //调用goldbachConjecture函数goldbachConjecture(n); return 0;
}二、哥德巴赫猜想2
【试题描述】 求出哥德巴赫猜想的所有解将一个大于 9 的奇数拆分成三个素数之和并按从小到大的顺序写出。 【输入要求】 一行 一个大于 9 的奇数。 【输出要求】 每行一个解。 【输入样例】 15 【输出样例】 152211 15357 15555
#include bits/stdc.h
using namespace std;
// 判断是否为素数的函数
bool isPrime(int num) { if (num 1) return false; if (num 2) return true; if (num % 2 0) return false; for (int i 3; i num; i 1) { if (num % i 0) return false; } return true;
}/*** 求解哥德巴赫猜想 * /
void goldbachConjecture(int oddNum) { //取oddNum前三分之一段的数因2是质数故从2开始for (int i 2; i oddNum / 3; i) { //i第一个质数//取剩下的前半段数for (int j i; j (oddNum - i) / 2; j) { //j第二个质数//求第三个质数kint k oddNum - i - j; //三个数均为素数时满足要求if (isPrime(i) isPrime(j) isPrime(k)) { //按题目要求输出cout oddNum i j k endl; } } }
} int main() { int oddNum; //输入大于9的奇数cin oddNum; if (oddNum 9 || oddNum % 2 0) { cout 输入错误请输入一个大于9的奇数. endl; return 1; } goldbachConjecture(oddNum); return 0;
}三、打印成绩单
【试题描述】 输入 N 个同学的语文成绩 算出总分 打印出成绩单 【输入要求】 N 个同学的成绩 【输出要求】 N 个同学的成绩及总分。 【输入样例】 5 98 78 98 65 90 【输出样例】 total:429 98 78 98 65 90
#include bits/stdc.h
using namespace std;
/**输入 N 个同学的语文成绩 算出总分 打印出成绩单*/
int main() { int n; cin n; // 读取同学的数量 int scores[n]; // 创建一个存储成绩的数组 int total 0; // 用于计算总分的变量 // 读取每个同学的成绩 for (int i 0; i n; i) { cin scores[i]; //将每个成绩相加得到总分total total scores[i]; } // 打印总分 cout total: total endl; // 打印每个同学的成绩 for (int i 0; i n; i) { cout scores[i] endl; } return 0;
}四、成绩输入输出
【试题描述】 全班 n 个同学的成绩需要按学号读入计算机并输出 请编程实现。 【输入要求】 两行 第一行为一个正整数 n 第二行为 n 个实数。 【输出要求】 n 行 包括所有同学的成绩 每行包括学号和成绩 之间用一个“ ” 分隔 成绩保留一 位小数。 【输入样例】 5 92 97.5 93 87 89 【输出样例】 1 92.0 2 97.5 3 93.0 4 87.0 5 89.0
#include bits/stdc.h
using namespace std;
/**全班 n 个同学的成绩需要按学号读入计算机并输出* return */
int main() { int n; cin n; // 读取学生数量 double scores[n]; // 创建包含n个元素的double类型数组用于存储成绩 for (int i 0; i n; i) { cin scores[i]; // 读取每个学生的成绩 } // 遍历数组并输出每个学生的学号和成绩 for (int i 0; i n; i) { //fixed确保了使用固定小数点格式而setprecision(1)则设置了小数点后要显示的位数cout (i 1) fixed setprecision(1) scores[i] endl; } return 0;
}五、数组输出奇数位偶数位
【试题描述】 对输入的数据分两行输出 第一行为输入顺序的奇数位置数据 第二行为输入顺序的偶数位置数据。 【输入要求】 共两行。 第一行为整数 n。 第二行为 n 个整数。 【输出要求】 两行。 第一行为奇数位置的数。 第二行为偶数位置的数。 注意 每个元素右边都有一个空格。 【输入样例】 9 1 5 4 7 8 5 6 9 3 【输出样例】 1 4 8 6 3 5 7 5 9
#include bits/stdc.h
using namespace std;
/**
* 对输入的数据分两行输出 第一行为输入顺序的奇数位置数据 第二行为输入顺序的偶数位置数据。
**/
int main() { int n; cin n; // 读取整数n int nums[n]; // 创建一个大小为n的数组来存储整数 for (int i 0; i n; i) { cin nums[i]; // 读取整数并存入数组} // 输出奇数位置的数 for (int i 0; i n; i i 2) { cout nums[i]; if ((i 2) n) { cout ; // 如果不是最后一个数则输出一个空格 } } cout endl; // 换行 // 输出偶数位置的数 for (int i 1; i n; i 2) { cout nums[i]; if (i 2 n) { cout ; // 如果不是最后一个数则输出一个空格 } } cout endl; // 换行 return 0;
}