考试时间150分钟,三道题分别是100,100,200分,考了370分,是自己自学了一个月的结果,其实最麻烦的感觉还是第二道题,因为第三题我知道自己错在哪里却没有时间去改了,就没有改了。
第一题:分解质因数:给定一个正整数,将其分解成两个质数的乘积,输出两个质数,按从小到大排序,有多组只需输出一组;如果没有则输出NO。
例如:输入15,输出3 5;输入7,输出NO。
#include<stdio.h>
#include<math.h>
//判断一个数是否为质数,是则返回1,否则返回0;
int prime(int x) {
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0)
return 0;
}
return 1;
}
int main()
{
int number = 0;
scanf("%d", &number);
//一个数分解成两数之积,一定有一数小于等于该数的平方根;
for (int i = 2; i <= sqrt(number);)
{
if (number % i == 0)
{
//找到一个因数就判断是否为质数;
if (prime(i) == 1 && prime(number / i) == 1) {
printf("%d %d\n", i, number / i);
return 0;
}
}
//i的变化方式
if (i == 2)
i++;
else
i += 2;
}
printf("NO\n");
return 0;
}
第二题:输入一个三行五列的不等式组,条件有:
系数(double