Example #1
0
int main()
{
    int i,j,c,len,num,temp,t,res,count;
    
    scanf("%d",&num);
    if(num==1)
    	printf("0\n");
    else{
    	count=0;
    	while(1){
    		count++;
    		temp=digitSum(num);
    		if(temp==1){
    			res=1;
    			break;
    		}

    		if(arr[temp]){
    			res=0;
    			break;
    		}
    		else{
    			arr[temp]=true;
    			num=temp;
    		}
    	}
    }
    
    if(res)
    	printf("%d\n",count );
    else
    	printf("-1\n");
    return 0;
}
Example #2
0
int main(){
   int a[1002],k,n;
   int i;
   freopen("sequence.in","r",stdin);
   freopen("sequence.out","w",stdout);
   scanf("%d%d%d",&a[1],&k,&n);
   for(i=1;i<=n;i++){
      int tmp=a[i];
      while(tmp++){
         if(digitSum(tmp)==digitSum(k*a[i])){
            break;
         }
      }
      a[i+1]=tmp;
   }
   printf("%d\n",a[n]);
   //system("pause");
   return 0;
}
Example #3
0
int main(void)
{
    std::vector<char> num;
    num.push_back((char)1);

    for (int i = 0; i < 1000; i++)
        mulBy2(num);

    std::cout << digitSum(num) << std::endl;

    return 0;
}
int main() {
    int max = 0;
    for(int i = 1; i < 100; i++) {
        BigUnsigned base = i;
        for(int exponent = 1; exponent < 100; exponent++) {
            base *= exponent;
            int digits = digitSum(bigIntegerToString(base));
            if( digits > max) max = digits;
        }
    }
    std::cout<< max <<std::endl;
    return 0;
}
Example #5
0
int main(void) {
    init();
    for(uint64_t expn = 2; expn <= MAX_EXPN; ++expn) {
        for(uint64_t base = 2, power; base <= MIN(MAX_BASE, (uint64_t)pow(UINT64_MAX, 1./(double)expn)); ++base) {
            power = pow(base, expn);
            if(digitSum(power) == base) {
                addPowerSum(power);
            }
        }
    }
    qsort(powerSums, powerSums_c, sizeof(uint64_t), (__compar_fn_t)compare_uint64_t_p);
    printf("%"PRIu64"\n", powerSums[29]);
}
Example #6
0
File: 10042.cpp Project: fkrafi/UVa
int main(){
	int t, i, n, j, s, f;
	scanf("%d", &t);
	for(i=0; i<t; i++){
		scanf("%d", &n);
		if(n<=2)n=3;
		for(j=n+1; ; j++){
			if(!isPrime(j)){
				s = digitSum(j);
				f = factors(j);
				if(s == f){
					printf("%d\n", j);
					break;
				}
			}
		}
	}
	return 0;
}