在线法官拒绝我的回答
Online judge Rejecting My Answer
下一个回文
下面的代码是这个问题的解决方案
如果正整数在十进制系统中的表示形式在从左到右和从右到左读取时相同,则称为回文。对于不超过 1000000 位的给定正整数 K,将大于 K 的最小回文值写入输出。数字始终不带前导零。
输入
第一行包含整数 t,即测试用例的数量。整数 K 在接下来的 t 行中给出。
输出
对于每个 K,输出大于 K 的最小回文。
例
输入:28082133
年输出:8182222
年#include <iostream>
using namespace std;
int main()
{
long t;
cin>>t;
long a[t],k;
for(long i=0;i<t;++i)
{
cin>>k;
a[i]=k;
}
for(long i=0;i<t;++i)
{
long palin=0,num;
palin=a[i];
num=palin+1;
while(1)
{
long x=0,rev=0,ans=num;
do
{
x=ans%10;
rev=rev*10+x;
ans=ans/10;
}while(ans);
if(rev==num)
{
cout<<"n"<<rev<<"n";
break;
}
else
++num;
}
}
return 0;
}
代码给了我预期的输出,我什至对代码进行了更改,使变量 K 和 t 为 LONG,我应该让它们长而不是长,还是我的逻辑有任何问题......?
您可以使用字符串而不是 long 来编写有效的程序。我已经用过了。在这里,我给出了代码:
#include<iostream>
using namespace std;
#include<string.h>
int main()
{
char s[80]; //you can take any big index instead 80
gets(s);
int a=0,l=strlen(s);
for(int i=0;i<l;i++) {
if(s[i]==s[l-i]) {
a++;
}
}
if(a==l) {
cout<<"Number is palindrome";
}
else {
cout<<"Number is not palindrome";
}
return(0);
}
任务真的是处理多达 1,000,000 位的整数吗?还是输入小于1M?
"long"保证至少为 32 位长(因此无符号 long 可以容纳整数 [0, 4,294,967,295]。因此,如果您的输入是 1M <,您的保险箱只有常规的长。
"long long"保证至少为 64 位长,因此无符号 long long 的范围为 [0, 18x10^18]。大于 4M,但仍远小于 1M 十进制数字。
代码的另一个问题是,它看起来像您试图动态分配堆栈数组。
cin>>t;
long a[t],k;
不能提供变量作为数组大小。这是一个非常基本的C++点,您必须执行以下操作之一:
对数组使用常量编译时最大大小(最简单的解决方案)。
#define A_MAX_SIZE 100 long a[A_MAX_SIZE];
使用动态数组(但随后必须分配并稍后删除它)。
请参阅链接:http://www.cplusplus.com/doc/tutorial/dynamic/使用将为您处理内存的 STL 容器。
例如:http://www.cplusplus.com/reference/stl/vector/vector/
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 为什么VS2017拒绝我的功能模板专业化,而不是VS2015拒绝
- 为什么我的C 函数拒绝返回const引用
- boost::regex_search拒绝接受我的论点
- 在线法官拒绝我的回答
- Xcode 拒绝构建我的一个 OpenCL 项目,但成功构建了另一个项目
- Mac OS X拒绝创建我的OpenGL窗口
- Codechef拒绝我的解决方案
- C++11:clang 拒绝在我的模板定义中numeric_limits<>,而 gcc 接受它 - 哪个是对的?
- 尝试让我的程序拒绝数字输入
- 我不断收到一个错误,指出对输出文件的权限被拒绝,因此我的代码无法运行