人选"/>
【无标题】赵钱孙李出国人选
某公司要从赵,钱,孙,李,周五名新毕业的大学生中选派一些人出国学习,选派必须满足以下条件:
(1)若赵去,则钱也去
(2)李,周两人中必有一人去
(3)钱,孙两人中去且仅去一人
(4)孙,李两人同去或不同去
(5)若周去,则找,钱也同去
p:赵去
q:钱去
r:孙去
s:李去
t:周去
for p in range(2):
for q in range(2):
for r in range(2):
for s in range(2):
for t in range(2):
if ((p==1 and q==1)or(p==0))and(not(s==t==0))and((q==1 and r==0)or(q==0 and r==1))and(r==s)and((t==1 and p==q==1)or(t==0))==1:
print("p={},q={},r={},s={},t={}".format(p,q,r,s,t))
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int i = 0;
int j,a[1000],t;
clock_t start_time;
clock_t finish_time;
clock_t real_time;
float current_time;
float program_time;
start_time=clock();
current_time=(float)start_time / CLOCKS_PER_SEC;
printf("Program start time: %f\n",current_time);
FILE *fp;
if((fp=fopen("D:\\桌面\\1000.txt","r"))==NULL)
{
printf("无法打开");
exit(0);
}
for(i=0;i<1000;i++)
{
fscanf(fp,"%d",&a[i]);
}
for (i=0;i<1000;i++){
for (j=i+1;j<1000;j++){
if (a[i]<a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<1000;i++)
{
printf("%d ",a[i]);
}
fclose(fp);
finish_time=clock();
current_time=(float)finish_time/CLOCKS_PER_SEC;
printf("Program finish time:%f\n",current_time);
program_time=(float)(finish_time-start_time)/CLOCKS_PER_SEC;
printf("Program complete time: %f\n",program_time);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMS 1000
void quick_sort(int *arr, int head, int end);
void swap(int *num_1, int *num_2);
void bubble_sort(int *arr, int len);
void selection_sort(int *arr, int len);
int main(void)
{
FILE *fp_in;
FILE *fp_out;
int *arr = (int *)malloc(sizeof(int) * NUMS);
fp_in = fopen("1000.txt", "r");
fp_out = fopen("output.txt", "w");
//fseek(fp_in, 0, SEEK_SET);
// rewind();
for (size_t i = 0; i < NUMS; i++)
fscanf(fp_in, "%d", &arr[i]);
// clock_t start_time;
// clock_t finish_time;
// float current_time;
// float program_time;
// start_time = clock();
// current_time = (float)start_time / CLOCKS_PER_SEC;
// printf("Program start time: %f\n", current_time);
bubble_sort(arr, NUMS);
// finish_time = clock();
// current_time = (float)finish_time / CLOCKS_PER_SEC;
// printf("Program finish time:%f\n", current_time);
// program_time = (float)(finish_time - start_time) / CLOCKS_PER_SEC;
// printf("Program complete time: %f\n", program_time);
for (size_t i = 0; i < NUMS; i++)
fprintf(fp_out, "%d ", arr[i]);
fclose(fp_in);
fclose(fp_out);
return 0;
}
inline void swap(int *num_1, int *num_2)
{
int temp = *num_1;
*num_1 = *num_2;
*num_2 = temp;
}
void bubble_sort(int *arr, int len)
{
for (size_t i = 0; i < len; i++)
for (size_t j = 0; j < len - i; j++)
if (arr[j] > arr[j + 1])
swap(&arr[j], &arr[j + 1]);
}
void selection_sort(int *arr, int len)
{
for (size_t i = 0; i < len - 1; i++)
{
int min = i;
for (size_t j = i + 1; j < len; j++)
if (arr[j] < arr[min])
min = j;
swap(&arr[min], &arr[i]);
}
}
void quick_sort(int *arr, int head, int end)
{
if (head < end)
{
// Swap(s[l], s[(l + r) / 2]); //将中间的这个数和第一个数交换 参见注1
int i = head, j = end, x = arr[head];
while (i < j)
{
while (i < j && arr[j] >= x) // 从右向左找第一个小于x的数
j--;
if (i < j)
arr[i++] = arr[j];
while (i < j && arr[i] < x) // 从左向右找第一个大于等于x的数
i++;
if (i < j)
arr[j--] = arr[i];
}
arr[i] = x;
quick_sort(arr, head, i - 1); // 递归调用
quick_sort(arr, i + 1, end);
}
}
更多推荐
【无标题】赵钱孙李出国人选
发布评论