这是个问题 如果给一个整数N.编写程序以获得该数字的第一位和最后一位的总和。
输入
第一行包含整数T,测试用例总数。然后按照T行,每行包含一个整数N. 输出
显示N的第一位和最后一位的总和。 约束
1≤T≤1000 1≤N≤1000000
实施例
输入 3 1234 124894 242323
输出 五 五 5
这是我的代码,当我提交代码时,它显示TLE错误。我认为我的代码的复杂性是O(1)因为只要输入数字就会计算总和。我想我正在计算复杂性错了。对此的一些帮助会很棒。欢呼!
#include<iostream>
#include<vector>
#include<math.h>
#include<stdio.h>
using namespace std;
int main()
{
char first,chr,chr_prv,temp;
int test;
cin>>test;
temp=getchar(); // just to ignore the /n after cin>>test
for(int i=0;i<test;i++)
{
int count=0;
do
{
chr_prv=chr;
chr=getchar();
if(count==0)
first=chr;
count++;
}while(chr!='\n');
cout<<(int(first)+int(chr_prv)-96)<<endl;
}
return 0;
}
答案 0 :(得分:0)
你正逐字逐句输入。我建议将整数作为单个整数输入,只需添加数字%10和数字/ str(数字).length()。回来结果:)(我故意给出一个提示而不是整个代码,因为它是一个codechef问题)