已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
2015-05-09 20:21
555 查看
描述
已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
输入第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入
样例输出
#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
int m;
unsigned int w;
cin>>m;
vector<int> a,b;
for(int i=0;i<m;i++)
{
int x,y=0;
int k=0;
cin>>x;
while(x>10)
{
y=y+x%10*pow(10,k);
x=x/10;
++k;
}
a.push_back(y);
}
for(int j=0;j<m;j++)
cout<<a[j]<<endl;
return 0;
}
人家的程序:
#include<cstdlio>
已知w是一个大于10但不大于1000000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数。
输入第一行为M,表示测试数据组数。
接下来M行,每行包含一个测试数据。输出输出M行,每行为对应行的n-1位数(忽略前缀0)。如果除了最高位外,其余位都为0,则输出0。样例输入
4 1023 5923 923 1000
样例输出
23 923 23 0 我的程序:
#include<iostream>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
int m;
unsigned int w;
cin>>m;
vector<int> a,b;
for(int i=0;i<m;i++)
{
int x,y=0;
int k=0;
cin>>x;
while(x>10)
{
y=y+x%10*pow(10,k);
x=x/10;
++k;
}
a.push_back(y);
}
for(int j=0;j<m;j++)
cout<<a[j]<<endl;
return 0;
}
人家的程序:
#include<cstdlio>
int
main()
03.
{
04.
int
n,m;
05.
scanf
(
"%d"
,&n);
06.
while
(n--)
07.
{
08.
scanf
(
"\n%*c%d"
,&m);
09.
printf
(
"%d\n"
,m);
10.
}
11.
}
相关文章推荐
- 任意给定一个大于等于10的整数A,请写一程序,以最小的时间复杂度找出比A小并且最接近A的一个整数B。要求:A的每位之和与B的每位之和相等 例:如果A=123 那么B=114
- 60}的C程序 高手帮忙写下`` 46 35 27 21 16 10 9 5 然后输出数组a。已知 int a[11]={1 使数组a仍然有序 将x插入到有序整型数组a中 由键盘输入一个整数x
- 读取一个在0-99999之间的整数,将该整数的各位数字相加,如求和结果大于9,则继续对所获得的结果数字按各位相加求和,直至求出的和值小于10。
- 剑指offer——面试题10输入一个十进制整数,统计其中二进制1的个数
- 定义一个具有10 个整形元素的数组,随机生成1——100 之间的整数初始化数组元
- 基础算法测试——生成一个1-10之间的随机整数组合
- 考虑方程式:a^3 + b^3 = c^3 + d^3其中:“^”表示乘方。a、b、c、d是互不相同的小于30的正整数。这个方程有很多解。比如:a = 1,b=12,c=9,d=10 就是一个解
- 基础算法测试——生成一个1-10之间的随机整数组合
- 输入一个整数,如果该整数大于1000,则输出“big”,如果该整数介于100到1000之间(包含两个边界),则输出“middle”,如果上面两种情况都不满足,输出”small“
- 求大于整数m且紧靠m的k个素数 及 判断一个数是否为素数的方法
- 从键盘输入一个大于9999的整数,然后把每个数位上的数累加
- 编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位
- 定义一个长度为10的整型数组,循环输入10个整数。 并遍历打印该数组
- 剑指offer 10----计算一个整数二进制位中1的个数
- 现在有一个整数数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数
- 一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n的顺序递增,当值大于5000时,把值按照指定顺序输出来。
- 一个整数,大于0,不用循环和本地变量,按照 n, 2n, 4n, 8n 的顺序递增,当值大于5000 时,把值按照指定顺序输出来。
- 输入一个整数,如果该整数x符合条件:-1<x<10,则输出“ok”,否则输出“not ok”
- 输入整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成数组的子数组,求所有子数组中和的最大值 ,例如输入的数组为{1,-2,3,10,-4,7,2,-5}和最大的子数组为{3,10,
- 【c语言】 给出一个大于或等于3的正整数,判断它是不是一个素数