计算数字的根
Time Limit:1000MS Memory Limit:65536K
Total Submit:648 Accepted:187
Description
每个正整数通过每一位的求和都可以找到一个对应的根值。如果求和的结果是一位数字,那么这个数字就是这个正整数的根,如果这个值是两位或多位的话,重复上面的求和,直到求和结果为一位数字。
例如:考虑正整数24,把2和4相加得到6。6是一个数字,那么6就是24的根。现在考虑正整数39,3+9=12,12不是一位数,那么重复相加1+2=3,所以得到3为39的根。
现给定数据求该数的根。
Input 超音速队
桂圆枸杞茶输入数据第一行有一个正整数N,表示下边有N个数据要计算. 接下来分别是N行需要求根的正整数m. 其中( 1 ≤ m ≤ 10^50 )注:10^50表示10的50次方
Output
输出这N个正整数的根,每个根占一行。
Sample Input
3
24
乔任梁遗容39
987654321
Sample Output
6
3
9
Source
∙ #include <iostream>
∙ #include <string>
∙ using namespace std;
∙ int main()
∙ {
∙ int n,m,i,j,k,h,g,f,sum;
良字笔顺∙ string a;
∙ cin>>n;k=1;
∙ while(k<=n)
新疆社保∙ {
∙ cin>>a;
∙ h=a.length();
∙ f=0;
∙ for(i=0;i<h;i++)
∙ {
∙ f=f+(a[i]-'0');
∙ }
∙ while(1)
∙ {
∙ if(f<10)
∙ {
∙ cout<<f<<endl;
∙ break;
∙ }
∙ el
∙ {
∙ sum=0;
∙ while(f!=0)
∙ {
∙ m=f%10;
∙ sum=sum+m;
∙ f=f/10;
∙ }
∙ }
∙ f=sum; //cout<<sum<<endl;
∙ }
∙ k++;
∙ }
∙ return 0;
∙ }
∙
开心的金明
管理者的英文
Time Limit:1000MS Memory Limit:65536K
Total Submit:229 Accepted:101
Description
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,分为5等:用整数1~5表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。
设第j件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1,j2,……,jk,则所求的总和为:
v[j1]*w[j1]+v[j2]*w[j2]+ …+v[jk]*w[jk]。(其中*为乘号)
请你帮助金明设计一个满足要求的购物单。
Input
输入只有一组测试数据,输入数据的第1行,为两个正整数,用一个空格隔开:
N m
(其中N(<30000)表示总钱数,m(<25)为希望购买物品的个数。)
从第2行到第m+1行,第j行给出了编号为j-1的物品的基本数据,每行有2个非负整数
v p
(其中v表示该物品的价格(v<=10000),p表示该物品的重要度(1~5))
Output
输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(<100000000)。
Sample Input
1000 5
苹果怎么强制重启800 2
400 5
300 5
400 3
200 2
Sample Output入户走访记录内容
3900
Source
∙ #include<iostream>
∙ using namespace std;
∙ int main()
∙ {
∙ int n,m,i,j,k,h,g,f,a[100000],b[50],s[100000]={0};
∙ while(cin>>n>>m)
∙ {
∙ for(i=0;i<m;i++)
∙ {
∙ cin>>a[i]>>b[i];
∙ }
∙ for(i=0;i<m;i++)
∙ {
∙ for(j=n;j>=a[i];j--)
∙ {
∙ if(s[j]<a[i]*b[i]+s[j-a[i]])
∙ s[j]=a[i]*b[i]+s[j-a[i]];
∙ }
∙ }
∙ cout<<s[n]<<endl;
∙ }
∙ return 0;
∙ }
数字求积
Time Limit:1000MS Memory Limit:65536K
Total Submit:1442 Accepted:738
Description
从键盘任意输入一个整型n,编程计算n的每一位数字相乘之积。
Input
有多个测试用例,每行一个整数n。
Output
对应输入的每个用例,输出各位数字位数之积,每个结果占一行。
Sample Input
1234
56789
Sample Output
24
15120
Source
∙ #include <iostream>
∙ using namespace std;
∙ int main()
∙ {
∙ int i,n,k=0,f=1;
∙ while(cin>>n)
∙ {
∙
∙ for(i=0;;i++)
∙ {int k=0;
∙ k=n%10;