虚假RE:Runtime Error

news2025/1/16 4:57:00

简单数据处理

筛法求素数

描述

用筛法求2——N之间的素数

输入描述

输入一个整数N,2<=N<=100000

输出描述

输出[2——N]区间内的素数

用例输入 1 

20

用例输出 1 

2 3 5 7 11 13 17 19

把判断素数写出一个函数,方便后续直接使用


#include<stdio.h>
void prime(int n);
int main() 
{
	int n;
	scanf("%d",&n);
	prime(n);
	return 0;
}
void prime(int n)
{
	int x,i;
	int isprime[n];//标志量,为1是素数,为0不是素数
	//初识化全为素数 
	for(i=0;i<n;i++)
	{
		isprime[i]=1;
	}
	for(x=2;x<n;x++)
	{
		if(isprime[x]!=0)//x为素数 
		{
			for(i=2;i*x<n;i++)//x的2,3,4,5倍不是素数 
			{
				isprime[i*x]=0;
			}
		}
	}
	//输出 
	for(i=2;i<n;i++)
	{
		if(isprime[i]!=0)
		{
			printf("%d\t",i);
		}
	}
	printf("\n");
}

普通方法求素数

#include<stdio.h>
#include<math.h>
int prime(int a);
int main()
{
	int i,n;
	scanf("%d",&n);
	for(i=2;i<n;i++)
	{
		if(prime(i)==0)
			printf("%d ",i);
	}
	
return 0;
} 
int prime(int a)
{
	int i,flag=0;
	for(i=2;i<=sqrt(a);i++)
	{
		if(a%i==0)
		{
			flag=1;
			break;
		}
	}
	return flag;
}

可逆素数对

如果一个数的逆序数(将其各位数字倒过来写形成的数)也是素数,则称为可逆素数,或称为可逆素数对。给定一个N,编程求解有多少对N位可逆素数对。(注:回文数不包含在内)

输入描述

一个整数N(1<N<8)

输出描述

N位整数中可逆素数对的数量

用例输入 1 

2

用例输出 1 

4

打表的思想

问题

然后写reverse函数,开始忘记除以10了

筛法忘记是i*x了

#include<stdio.h>
#include<math.h>
void prime( );
int reverse(int n);
int isprime[9999999];

int main()
{
	int i,n,count=0;
	scanf("%d",&n);
	
	//初识化全为素数 
	for(i=0;i<n;i++)
	{
		isprime[i]=0;
	}
	
	prime( );
	for(i=pow(10,n-1);i<pow(10,n);i++)
	{
		if(isprime[i]==0&&reverse(i)>i&&isprime[reverse(i)]==0)
		{
			count++;
		}
	}
	printf("%d",count);
}
void prime()
{
	int i,x;
		
	for(x=2;x<9999999;x++)
	{
		if(isprime[x]==0)
		{
			for(i=2;i*x<9999999;i++)
			{
				isprime[i*x]=1;
			}
		}
	}
	return ;
}

int reverse(int n)
{
	int re=0;
	while(n>0)
	{
		re=10*re+n%10;
		n=n/10;
	 } 
	return re;
}



孪生素数

相差为2的两个素数称为孪生素数。编程输出给定区间内[a,b]的所有孪生素数对。

输入描述

两个整数,表示区间,1<a<b<10000;

输出描述

所有孪生素数对,每对占一行,用逗号分开;

用例输入 1 

2 10

用例输出 1 

3,5
5,7

一开始忘记调用判断素数的函数了。。。

#include<stdio.h>
void prime();
int isprime[10000];
int main()
{
	int i,a,b;
	prime(); 
	scanf("%d %d",&a,&b);
	for(i=a;i<=b-2;i++)
	{
		if(isprime[i]==0 )
			if(isprime[i+2]==0)
				printf("%d,%d\n",i,i+2);
	}
	
	return 0;
}
void prime()
{
	int i,x;
	
	for(i=0;i<10000;i++)
	{
		isprime[i]=0;
	}
	for(x=2;x<10000;x++)
	{
		if(isprime[x]==0)
		{
			for(i=2;i*x<10000;i++)
			{
				isprime[i*x]=1;
			}
		}
	}
}

美素数

小明对数的研究比较热爱,一谈到数,脑子里就涌现出好多数的问题,今天,小明想考考你对素数的认识。问题是这样的:一个十进制数,如果是素数,而且它的各位数字和也是素数,则称之为“美素数”,如29,本身是素数,而且2+9 = 11也是素数,所以它是美素数。
给定一个区间,你能计算出这个区间内有多少个美素数吗?

输入描述

第一行输入一个正整数T,表示总共有T组数据(T <= 10000)。
接下来共T行,每行输入两个整数L,R(1<= L <= R <= 1000000),表示区间的左值和右值。

输出描述

对于每组数据,先输出Case数,然后输出区间内美素数的个数(包括端点值L,R)。
每组数据占一行,具体输出格式参见样例。

用例输入 1 

3
1 100
2 2
3 19

用例输出 1 

Case #1: 14
Case #2: 1
Case #3: 4

运行超时

部分数据超时了

#include<stdio.h>
void prime();
int isprime[10000];
int sum(int n);
int main()
{
	prime();
	isprime[1]=1;
	int i,a,b,count,n,k;
	scanf("%d",&n);
	for(k=1;k<=n;k++)
	{
		scanf("%d %d",&a,&b);
		count=0;//每次都需要清零 
		for(i=a;i<=b-2;i++)
		{
			if(isprime[i]==0 &&isprime[sum(i)]==0)
			count++;
		}
		printf("Case #%d: %d\n",k,count);
	}
	return 0;
}
int sum(int n)
{
	int s=0;
	while(n>0)
	{
		s=n%10+s;
		n=n/10;
	}
	return s;
}
void prime()
{
	int i,x;
	
	for(i=0;i<10000;i++)
	{
		isprime[i]=0;
	}
	for(x=2;x<10000;x++)
	{
		if(isprime[x]==0)
		{
			for(i=2;i*x<1000;i++)
			{
				isprime[i*x]=1;
			}
		}
	}
}

正确

用一个数组记录从0到i的美素数

打表

最后输出两个美素数数组的差值

#include<stdio.h>
#define max 1000000

int mss[max]={0,0,1};//从0到 i的美素数个数 
int isprime[max];//为0是素数,1不是素数 
void prime();//判断是否为素数 
int sum(int a);//求和 
void dabiao();

int main()
{
	int a,b,n,i;
	prime();
	dabiao();
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d %d",&a,&b);
		printf("%d",mss[b]-mss[a-1]);//a可能本身为美素数,所以要-1 
	}

}

void dabiao()
{
	int i,x;
	for(i=3;i<max;i=i+2)
	{
		if(isprime[i]==0&&isprime[sum(i)]==0)
		{
			mss[i]=mss[i-1]+1;
			mss[i+1]=mss[i];//偶数一定不是素数 
		}else{
			mss[i]=mss[i-1];//不是美素数就与上面的个数相等 
			mss[i+1]=mss[i];
		}
	}
}
/*可以用变量S简化步骤 
void dabiao()
{
    int s = 1, i;
 
    for(i=3; i<=MAXN; i+=2) {
        if(prime(i)==1 && prime(sum(i))==1)
            s++;
        mss[i] = s;
        mss[i+1] = s;
    }
}*/ 
int sum(int a)
{
	int s=0;
	while(a>0)
	{
		s=s+a%10;
		a=a/10;
	}
	return s;
}

void prime()
{
	int i,x;
	for(i=0;i<max;i++)
	{
		isprime[i]=0;
	}
	for(x=2;x<max;x++)
	{
		if(isprime[x]==0)
		{
			for(i=2;i*x<max;i++)
			{
				isprime[i*x]=1;
			}
		}
	}
	return ;
}

分拆素数和

把一个偶数拆成两个不同素数的和,有几种拆法呢?

输入描述

输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

输出描述

对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

用例输入 1 

30
26
0

用例输出 1 

3
2

提示

注意:不包括两数相等的情况,例如26可分解为3+23,7+19,13+13,题意中不包含13+13

问题

问题1:又双叒叕忘记调用prime函数了

问题2:1不是素数,可以从i=2开始判断

结果就是,测试用例过了,提交上去wrong answer

然后因为输入的是偶数,可以i=3开始判断,就正确了,不解疑惑

#include<stdio.h>
int isprime[10000];
void prime();

int main()
{
	prime();
	int n,i,count;
	scanf("%d",&n);
	while(n!=0)
	{
		count=0;
		for(i=3;i<n/2;i++)
		{
			if(isprime[i]==0&&isprime[n-i]==0)
			{
				count++;
			}
		}
		printf("%d\n",count);
		
		scanf("%d",&n);
	}
	
	return 0;
}

void prime()
{
	int i,x;
	for(i=0;i<10000;i++)
		isprime[i]=0;
		
	for(x=2;x<10000;x++)
	{
		if(isprime[x]==0)
		{
			for(i=2;i*x<10000;i++)
			{
				isprime[i*x]=1;
			}
		}
	}
}

分数的四则运算

对输入的两个分数选择‘+’、‘-’、‘*’、‘/’四则运算,并以分数形式输出结果。

输入描述

第一行先输入整数T,表示总共有T组数据。
接下来共T行,每行输入分数形式的算术表达式。

输出描述

最简分数形式。

用例输入 1 

2
-1/2-1/3
5/6/5/6

用例输出 1 

-5/6
1

辗转相除法--约分

我服了,一个换行没写,一直wrong answer,硬控我三个小时


#include<stdio.h>
#include<math.h>
int yuef(int a,int b);
int main()
{
	int a,b,c,d,fz,fm;
	int n,k,i;
	char ch;
	
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d/%d%c%d/%d",&a,&b,&ch,&c,&d);
		switch(ch)
		{
			case '+':
				fm=b*d;
				fz=a*d+b*c;
				break;
			case '-':
				fm=b*d;
				fz=a*d-b*c;
				break;
			case '*':
				fz=a*c;
				fm=b*d;
				break;
			case '/':
				fz=a*d;
				fm=b*c;
				break;
		}
		if(fz%fm==0)	printf("%d\n",fz/fm);
		else 
		{
			k=yuef(abs(fz),abs(fm));
			if(fm<0)
			{
				fz=-fz;fm=-fm;
			}
			printf("%d/%d\n",fz/k,fm/k);
			
		}	
	}
	return 0;
} 

int yuef(int a,int b)
{
	int r;
	while(r=a%b)
	{
		a=b; // 以除数作为被除数
		b=r; // 以余数作为除数
	}
	return b;  // 最后的除数为最大公约数
}

人见人爱A+B (杭电2033)

HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。

输入描述

输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6
个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。

输出描述

对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的
规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位
整数表示。

用例输入 1 

2
1 2 3 4 5 6
34 45 56 12 23 34

用例输出 1 

5 7 9
47 9 30

按照老师PPT的方法写的


#include<stdio.h>
int main()
{
	int ah,am,as,bh,bm,bs;
	int sum;
	int n,i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %d %d %d %d %d",&ah,&am,&as,&bh,&bm,&bs);
		sum=as+bs;
		am=am+bm+sum/60;
		as=sum%60;
		ah=ah+bh+am/60;
		am=am%60;
		printf("%d %d %d\n",ah,am,as);
	}
	
	return 0;
}

逆序对

在数组中的两个数如果前面一个数大于后面的数,则这两个数组成一个逆序对。即:如果
a[i]>a[j] 且 i<j,a[i]和a[j]构成一个逆序对。例如有数组a = { 2,4,1,3,5 },
数组a的逆序对分别是:( 2,1 ),( 4,1 ),( 4,3 )。
编写代码,输入一个数组,打印出这个数组的所有逆序对。

输入描述

先输入一个整数n(1<n<1000),表示数组元素的个数,接下来输入n个数组元素。

输出描述

输出数组的逆序对,每个占一行。

用例输入 1 

5 2 4 1 3 5

用例输出 1 

(2,1)
(4,1)
(4,3)

思路大概就是用到了类似选择法排序的思路

#include<stdio.h>
int main()
{
	int i,n,k,a[1000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<n-1;i++)
	{
		for(k=i+1;k<n;k++)
		{
			if(a[i]>a[k])
			{
				printf("(%d,%d)\n",a[i],a[k]);
			} 
		}
	}
	return 0;
}

丑数

只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也不是丑数。请编写一个函数,输入一个整数n(n<100000),能够判断该整数是否为丑数,如果是,则输出True,否则输出False。

输入描述

有多组测试数据
对于每组数据,包含一个整数n(0<=n<100000)

输出描述

判断该整数是否为丑数,如果是,则输出True,否则输出False。

用例输入 1 

4
7

用例输出 1 

True
False
#include<stdio.h>
int main()
{
	int n,i,j,k;
	while(scanf("%d",&n)!=EOF)
	{
		while(n%2==0)
		{
			n=n/2;
		}
		while(n%3==0)
		{
			n=n/3;
		}
		while(n%5==0)
		{
			n=n/5;
		}
		if(n==1)	printf("True\n");
		else 		printf("False\n");
	}
	return 0;
}

会绕圈的数

任意一个正整数,把它的每一位数字平方后相加得到一个数;将这个数的每一位数字再平方相加; 依次进行就会产生循环现象。设计一个程序,对给定的一个正整数m(m<10000000),打印出到出现循环为止的所有数。m=0时表示输入结束。

输入描述

对给定的一个正整数m(m<10000000),打印出到出现循环为止的所有数。m=0时表示输入结束。(每组样例包含10000组数据)

输出描述

对给定的一个正整数m(m<10000000),打印出到出现循环为止的所有数

用例输入 1 

1234
0

用例输出 1 

1234  30  9  81  65  61  37  58  89  145  42  20  4  16  37

运行超时

#include<stdio.h>
//#define max 567		
//m最大是9999999,这个数的平方和是81*7=567

int sum(int a);
int main()
{
	int n,i;
	int flag[9999999];
	
	while(scanf("%d",&n)!=EOF)
	{
		if(n==0)	break;
		
		for(i=0;i<99999;i++)
		{
			flag[i]=0;
		}
		flag[n]=1;
		printf("%d  ",n);
		while(1)
		{
			n=sum(n);
			printf("%d  ",n);
			
			if(flag[n]==0)
			{
				flag[n]=1;
			}
			else 
			{
				break;
			}
		}	
	}
	return 0;	
}
int sum(int a)
{
	int s=0;
	while(a>0)
	{
		s=(a%10)*(a%10)+s;
		a=a/10;
	}
	return s;
}

虚假的RE:逆向工程

真实的RE:运行时错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810519.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

头部外伤怎么办?别大意,科学处理是关键

头部外伤是一种常见的伤害&#xff0c;它可能由跌倒、撞击或其他事故造成。虽然许多头部外伤看似轻微&#xff0c;但如果不妥善处理&#xff0c;可能会带来严重的后果。因此&#xff0c;了解头部外伤的处理方法至关重要。 一、初步判断伤势 头部外伤后&#xff0c;首先要观察伤…

自动驾驶---Perception之视觉点云雷达点云

1 前言 在自动驾驶领域&#xff0c;点云技术的发展历程可以追溯到自动驾驶技术的早期阶段&#xff0c;特别是在环境感知和地图构建方面。 在自动驾驶技术的早期技术研究中&#xff0c;视觉点云和和雷达点云都有出现。20世纪60年代&#xff0c;美国MIT的Roberts从2D图像中提取3D…

Vuepress 2从0-1保姆级进阶教程——标准化流程(Tailwindcss+autoprefixer+commitizen)

Vuepress 2 专栏目录【已完结】 1. 入门阶段 Vuepress 2从0-1保姆级入门教程——环境配置篇Vuepress 2从0-1保姆级入门教程——安装流程篇Vuepress 2从0-1保姆级入门教程——文档配置篇Vuepress 2从0-1保姆级入门教程——主题与部署 2.进阶阶段 Vuepress 2从0-1保姆级进阶教程—…

【递归+二叉树思想+搜索】 Alice and the Cake题解

Alice and the Cake题解 AC记录&#xff1a;记录-洛谷 题面翻译&#xff08;大概就是题目大意&#xff09; 执行恰好 n − 1 n-1 n−1 次操作&#xff0c;每次操作可以选择当前所有蛋糕中满足其重量 w ⩾ 2 w\geqslant 2 w⩾2 的一块&#xff0c;然后将其分为质量分别为 …

vue + vite 图标导入总结

vue vite 图标导入总结 SVG 的使用 在页面中我们会使用到各种图标&#xff0c;为了保证图标在放大缩小不失真&#xff0c;通常会采用 SVG 来作为图标。 SVG&#xff08;Scalable Vector Graphics&#xff09;是一种基于XML的矢量图像格式&#xff0c;它可以用来创建清晰的、…

计算机组成原理之计算机的性能指标

目录 计算机的性能指标 复习提示 1.计算机的主要性能指标 1.1机器字长 1.1.1与机器字长位数相同的部件 1.2数据通路带宽 1.3主存容量 1.4运算速度 1.4.1提高系统性能的综合措施 1.4.2时钟脉冲信号和时钟周期的相关概念 1.4.3主频和时钟周期的转换计算 1.4.4IPS的相关…

图神经网络实战(13)——经典链接预测算法

图神经网络实战&#xff08;13&#xff09;——经典链接预测算法 0. 前言1. 链接预测2. 启发式技术2.1 局部启发式技术2.2 全局启发式技术 3. 矩阵分解小结系列链接 0. 前言 链接预测 (Link prediction) 可以帮助我们理解和挖掘图中的关系&#xff0c;并在社交网络、推荐系统等…

javaweb请求响应+@ResponseBody注解

这里用了一款接口测试软件postman 简单参数 SpringBoot方式 简单参数:参数名与形参变量名相同&#xff0c;定义形参即可接收参数。 请求参数名与方法形参变量名相同 会自动进行类型转换 package com.example.springbootwebreqresp.Controller;import org.springframework.w…

Go微服务: 理解分布式锁

概述 我们先看一个场景&#xff0c;到了双11&#xff0c;我们的商户又开始卖商品啦但是&#xff0c;我们的库存是有限的&#xff0c;如果超卖了&#xff0c;可能平台就会涉及相关法律责任了所以&#xff0c;我们的库存扣除问题&#xff0c;一定是一个非常经典的问题 先看上图&…

《Vue》系列文章目录

Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;Vue 都可以…

实现3-8译码器①

描述 下表是74HC138译码器的功能表. E3 E2_n E1_n A2 A1 A0 Y0_n Y1_n Y2_n Y3_n Y4_n Y5_n Y6_n Y7_n x 1 x x x x 1 1 1 1 1 1 1 1 x x 1 x x x 1 1 1 1 1 1 1 1 0 x x x x x 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 …

C语言之argc、argv与main函数的传参

一 &#xff1a;谁给main函数传参 &#xff08;1&#xff09;调用main函数所在的程序的它的父进程给main函数传参&#xff0c;并且接收main函数的返回值 二 &#xff1a;为什么需要给main函数传参 &#xff08;1&#xff09;首先mian函数不传承是可以的&#xff0c;也就是说它的…

01-Linux网络设置

1、查看及测试网络 查看及测试网络配置是管理Linux网络服务的第一步&#xff0c;其中的大多数命令以普通用户的权限就可以完成操作&#xff0c;但普通用户在执行/sbin目录中的命令时需要指定命令文件的决对路径。 1.1 查看网络接口地址 主机的网卡通常称为网络接口&#xff…

轻松驾驭视频节奏:灵活调整视频播放速度,让视频内容更出彩!

视频已经成为了我们生活中不可或缺的一部分。无论是观看电影、电视剧&#xff0c;还是浏览短视频、直播内容&#xff0c;我们都希望能够根据自己的喜好和需求来调整视频的播放速度&#xff0c;甚至精确控制每一秒的播放内容。那么&#xff0c;如何轻松实现这一愿望呢&#xff1…

torchmetrics,一个无敌的 Python 库!

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个无敌的 Python 库 - torchmetrics。 Github地址&#xff1a;https://github.com/Lightning-AI/torchmetrics 在深度学习和机器学习项目中&#xff0c;模型评估是一个至关重要的环节。为了准确…

Springboot结合redis实现关注推送

关注推送 Feed流的模式 Timeline:不做内容筛选&#xff0c;简单的按照内容发布时间排序。常用于好友与关注。例如朋友圈的时间发布排序。 优点:信息全面&#xff0c;不会有缺失。并且实现也相对简单 缺点:信息噪音较多&#xff0c;用户不一定感兴趣&#xff0c;内容获取效率…

打造精细化运维新玩法(三)

实践SLO&#xff0c;概括下就是在相对标准、统一的框架下指导和推动服务质量的数字化建设&#xff0c;形成对组织有价值的数据资产和流程规范。借用在人工智能和机器学习领域的观点&#xff0c;算法的上限受限于数据质量的好坏&#xff0c;所以从源头上建设高质量的数据非常重要…

【电赛】STM32-PID直流减速电机小车【寻迹+避障+跟随】【更新ing】

一.需求分析 1.主控&#xff1a;STM32C8T6&#xff08;没什么好说的哈哈&#xff09; 2.电机&#xff1a;JAG25-370电机 【问】为什么要用直流减速电机&#xff1f;&#xff1f; PID控制器需要依靠精确的反馈信号来调整其输出&#xff0c;确保电机按照预定的速度和位置运行…

独立游戏之路:Tap篇 -- Unity 集成 TapTap 广告详细步骤

Unity 集成 TapADN 广告详细步骤 前言一、TapTap 广告介绍二、集成 TapTap 广告的步骤2.1 进入广告后台2.2 创建广告计划2.3 选择广告类型三、代码集成3.1 下载SDK3.2 工程配置3.3 源码分享四、常见问题4.1 有展现量没有预估收益 /eCPM 波动大?4.2 新建正式媒体找不到预约游戏…

介绍Linux

目录 1.什么是操作系统 2.现实生活中的操作系统 3.操作系统的发展史 4.操作系统的发展 Linux的不同版本以及应用领域 1.Linux内核及发行版介绍 <1>Linux内核版本 <2>Linux发行版本 2.应用领域 个⼈桌⾯领域的应⽤ 服务器领域 嵌⼊式领域 3.文件和目录 …