C   74

power number

Guest on 30th June 2022 02:54:23 AM

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main (void) {
  4.                 long long int A,B;
  5.                 long long int E=0;
  6.                 long long int C=0;
  7.                 long long int D;
  8.                 int i,l,j,k=0;
  9.                 long long int number=1;            
  10.                 long long int power(int k, long long int number);
  11.                 scanf("%lld%lld",&A,&B);
  12.                 //A=129140163;
  13.                 //B=11;
  14.                 if (B>99999){
  15.                         for(i=2;i<=10;i++){
  16.                                 C=0;
  17.                                 D=A;
  18.                                 if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000 + D/i/i/i/i%i*10000 + D/i/i/i/i/i%i*100000==B){
  19.                                         if(D/i==0)
  20.                                                 printf("%d %lld\n",i,D);
  21.                                         else {
  22.                                                 for (k=0; D/i!=0 ; k++) {
  23.                                                         C=C+D%i*power(k,number);
  24.                                                         D=D/i;
  25.                                                         if(k>=17){
  26.                                                                 E=C;
  27.                                                                 if(E==0){
  28.                                                                         C=0;
  29.                                                                         k=-1;
  30.                                                                         for (k=0; D/i!=0 ; k++) {
  31.                                                                                 C=C+D%i*power(k,number);
  32.                                                                                 D=D/i;
  33.                                                                         }
  34.                                                                         C=C+D%i*power(k,number);
  35.                                                                         printf("%d ",i);
  36.                                                                         printf("%lld000000000000000000\n",C);
  37.                                                                         break;
  38.                                                                 }
  39.                                                                 C=0;
  40.                                                                 k=-1;
  41.                                                         }
  42.                                                 }
  43.                                                 C=C+D%i*power(k,number);
  44.                                                 if(E==0){
  45.                                                         printf("%d ",i);
  46.                                                         printf("%lld\n",C);
  47.                                                         C=0;
  48.                                                         E=0;
  49.                                                 }
  50.                                                 else{
  51.                                                         printf("%d %lld",i,C);
  52.                                                         for(j=17;j>=0;j--){
  53.                                                                 if(E>=power(j,number)){
  54.                                                                         for(l=17;l>j;l--){
  55.                                                                                 printf("0");
  56.                                                                         }
  57.                                                                         break;
  58.                                                                 }
  59.                                                         }
  60.                                                         printf("%lld\n",E);
  61.                                                         C=0;
  62.                                                         E=0;
  63.                                                 }
  64.                                         }
  65.                                 }
  66.                         }
  67.                 }
  68.                 else if(B>9999){
  69.                         for(i=2;i<=10;i++){
  70.                                 C=0;
  71.                                 D=A;
  72.                                 if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000 + D/i/i/i/i%i*10000==B){
  73.                                         if(D/i==0)
  74.                                                 printf("%d %lld\n",i,D);
  75.                                         else {
  76.                                                 for (k=0; D/i!=0 ; k++) {
  77.                                                         C=C+D%i*power(k,number);
  78.                                                         D=D/i;
  79.                                                         if(k>=17){
  80.                                                                 E=C;
  81.                                                                 if(E==0){
  82.                                                                         C=0;
  83.                                                                         k=-1;
  84.                                                                         for (k=0; D/i!=0 ; k++) {
  85.                                                                                 C=C+D%i*power(k,number);
  86.                                                                                 D=D/i;
  87.                                                                         }
  88.                                                                         C=C+D%i*power(k,number);
  89.                                                                         printf("%d ",i);
  90.                                                                         printf("%lld000000000000000000\n",C);
  91.                                                                         break;
  92.                                                                 }
  93.                                                                 C=0;
  94.                                                                 k=-1;
  95.                                                         }
  96.                                                 }
  97.                                                 C=C+D%i*power(k,number);
  98.                                                 if(E==0){
  99.                                                         if(C/100000%10==0){
  100.                                                                 printf("%d ",i);
  101.                                                                 printf("%lld\n",C);
  102.                                                                 C=0;
  103.                                                                 E=0;
  104.                                                         }
  105.                                                 }
  106.                                                 else{
  107.                                                         if(E/100000%10==0){
  108.                                                                 printf("%d %lld",i,C);
  109.                                                                 for(j=17;j>=0;j--){
  110.                                                                         if(E>=power(j,number)){
  111.                                                                                 for(l=17;l>j;l--){
  112.                                                                                         printf("0");
  113.                                                                                 }
  114.                                                                                 break;
  115.                                                                         }
  116.                                                                 }
  117.                                                                 printf("%lld\n",E);
  118.                                                                 C=0;
  119.                                                                 E=0;
  120.                                                         }
  121.                                                 }
  122.                                         }                      
  123.                                 }
  124.                         }
  125.                 }
  126.                 else if(B>999){
  127.                         for(i=2;i<=10;i++){
  128.                                 C=0;
  129.                                 D=A;
  130.                                 if(D%i + D/i%i*10 + D/i/i%i*100 + D/i/i/i%i*1000==B){
  131.                                         if(D/i==0)
  132.                                                 printf("%d %lld\n",i,D);
  133.                                         else {
  134.                                                 for (k=0; D/i!=0 ; k++) {
  135.                                                         C=C+D%i*power(k,number);
  136.                                                         D=D/i;
  137.                                                         if(k>=17){
  138.                                                                 E=C;
  139.                                                                 if(E==0){
  140.                                                                         C=0;
  141.                                                                         k=-1;
  142.                                                                         for (k=0; D/i!=0 ; k++) {
  143.                                                                                 C=C+D%i*power(k,number);
  144.                                                                                 D=D/i;
  145.                                                                         }
  146.                                                                         C=C+D%i*power(k,number);
  147.                                                                         printf("%d ",i);
  148.                                                                         printf("%lld000000000000000000\n",C);
  149.                                                                         break;
  150.                                                                 }
  151.                                                                 C=0;
  152.                                                                 k=-1;
  153.                                                         }
  154.                                                 }
  155.                                                 C=C+D%i*power(k,number);
  156.                                                 if(E==0){
  157.                                                         if(C/100000%10==0&&C/10000%10==0){
  158.                                                                 printf("%d %lld",i,C);
  159.                                                                 for(j=17;j>=0;j--){
  160.                                                                         if(E>=power(j,number)){
  161.                                                                                 for(l=17;l>j;l--){
  162.                                                                                         printf("0");
  163.                                                                                 }
  164.                                                                                 break;
  165.                                                                         }
  166.                                                                 }                                                              
  167.                                                         }
  168.                                                 }
  169.                                                 else{
  170.                                                         if(E/100000%10==0&&E/10000%10==0){
  171.                                                                 printf("%d ",i);
  172.                                                                 printf("%lld%lld\n",C,E);
  173.                                                                 C=0;
  174.                                                                 E=0;
  175.                                                         }
  176.                                                 }
  177.                                         }                      
  178.                                 }
  179.                         }
  180.                 }
  181.                 else if(B>99){
  182.                         for(i=2;i<=10;i++){
  183.                                 C=0;
  184.                                 D=A;
  185.                                 if(D%i + D/i%i*10 + D/i/i%i*100==B){
  186.                                         if(D/i==0)
  187.                                                 printf("%d %lld\n",i,D);
  188.                                         else {
  189.                                                 for (k=0; D/i!=0 ; k++) {
  190.                                                         C=C+D%i*power(k,number);
  191.                                                         D=D/i;
  192.                                                         if(k>=17){
  193.                                                                 E=C;
  194.                                                                 if(E==0){
  195.                                                                         C=0;
  196.                                                                         k=-1;
  197.                                                                         for (k=0; D/i!=0 ; k++) {
  198.                                                                                 C=C+D%i*power(k,number);
  199.                                                                                 D=D/i;
  200.                                                                         }
  201.                                                                         C=C+D%i*power(k,number);
  202.                                                                         printf("%d ",i);
  203.                                                                         printf("%lld000000000000000000\n",C);
  204.                                                                         break;
  205.                                                                 }
  206.                                                                 C=0;
  207.                                                                 k=-1;
  208.                                                         }
  209.                                                 }
  210.                                                 C=C+D%i*power(k,number);
  211.                                                 if(E==0){
  212.                                                         if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0){
  213.                                                                 printf("%d ",i);
  214.                                                                 printf("%lld\n",C);
  215.                                                                 C=0;
  216.                                                                 E=0;
  217.                                                         }
  218.                                                 }
  219.                                                 else{
  220.                                                         if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0){
  221.                                                                 printf("%d %lld",i,C);
  222.                                                                 for(j=17;j>=0;j--){
  223.                                                                         if(E>=power(j,number)){
  224.                                                                                 for(l=17;l>j;l--){
  225.                                                                                         printf("0");
  226.                                                                                 }
  227.                                                                                 break;
  228.                                                                         }
  229.                                                                 }
  230.                                                                 printf("%lld\n",E);
  231.                                                                 C=0;
  232.                                                                 E=0;
  233.                                                         }
  234.                                                 }
  235.                                         }                      
  236.                                 }
  237.                         }
  238.                 }
  239.                 else if(B>9){
  240.                         for(i=2;i<=10;i++){
  241.                                 C=0;
  242.                                 D=A;
  243.                                 if(D%i + D/i%i*10==B){
  244.                                         if(D/i==0)
  245.                                                 printf("%d %lld\n",i,D);
  246.                                         else {
  247.                                                 for (k=0; D/i!=0 ; k++) {
  248.                                                         C=C+D%i*power(k,number);
  249.                                                         D=D/i;
  250.                                                         if(k>=17){
  251.                                                                 E=C;
  252.                                                                 if(E==0){
  253.                                                                         C=0;
  254.                                                                         k=-1;
  255.                                                                         for (k=0; D/i!=0 ; k++) {
  256.                                                                                 C=C+D%i*power(k,number);
  257.                                                                                 D=D/i;
  258.                                                                         }
  259.                                                                         C=C+D%i*power(k,number);
  260.                                                                         printf("%d ",i);
  261.                                                                         printf("%lld000000000000000000\n",C);
  262.                                                                         break;
  263.                                                                 }
  264.                                                                 C=0;
  265.                                                                 k=-1;
  266.                                                         }
  267.                                                 }
  268.                                                 C=C+D%i*power(k,number);
  269.                                                 if(E==0){
  270.                                                         if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0){
  271.                                                                 printf("%d ",i);
  272.                                                                 printf("%lld\n",C);
  273.                                                                 C=0;
  274.                                                                 E=0;
  275.                                                         }
  276.                                                 }
  277.                                                 else{
  278.                                                         if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0){
  279.                                                                 printf("%d %lld",i,C);
  280.                                                                 for(j=17;j>=0;j--){
  281.                                                                         if(E>=power(j,number)){
  282.                                                                                 for(l=17;l>j;l--){
  283.                                                                                         printf("0");
  284.                                                                                 }
  285.                                                                                 break;
  286.                                                                         }
  287.                                                                 }
  288.                                                                 printf("%lld\n",E);
  289.                                                                 C=0;
  290.                                                                 E=0;
  291.                                                         }
  292.                                                 }
  293.                                         }
  294.                                 }
  295.                         }
  296.                 }
  297.                 else if(B>0){
  298.                         for(i=2;i<=10;i++){
  299.                                 C=0;
  300.                                 D=A;
  301.                                 if(D%i==B){
  302.                                         if(D/i==0)
  303.                                                 printf("%d %lld\n",i,D);
  304.                                         else {
  305.                                                 for (k=0; D/i!=0 ; k++) {
  306.                                                         C=C+D%i*power(k,number);
  307.                                                         D=D/i;
  308.                                                         if(k>=17){
  309.                                                                 E=C;
  310.                                                                 if(E==0){
  311.                                                                         C=0;
  312.                                                                         k=-1;
  313.                                                                         for (k=0; D/i!=0 ; k++) {
  314.                                                                                 C=C+D%i*power(k,number);
  315.                                                                                 D=D/i;
  316.                                                                         }
  317.                                                                         C=C+D%i*power(k,number);
  318.                                                                         printf("%d ",i);
  319.                                                                         printf("%lld000000000000000000\n",C);
  320.                                                                         break;
  321.                                                                 }
  322.                                                                 C=0;
  323.                                                                 k=-1;
  324.                                                         }
  325.                                                 }
  326.                                                 C=C+D%i*power(k,number);
  327.                                                 if(E==0){
  328.                                                         if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0&&C/10%10==0&&C%10==0){
  329.                                                                 printf("%d ",i);
  330.                                                                 printf("%lld\n",C);
  331.                                                                 C=0;
  332.                                                                 E=0;
  333.                                                         }
  334.                                                 }
  335.                                                 else{
  336.                                                         if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0&&E/10%10==0&&E%10==0){
  337.                                                                 printf("%d %lld",i,C);
  338.                                                                 for(j=17;j>=0;j--){
  339.                                                                         if(E>=power(j,number)){
  340.                                                                                 for(l=17;l>j;l--){
  341.                                                                                         printf("0");
  342.                                                                                 }
  343.                                                                                 break;
  344.                                                                         }
  345.                                                                 }
  346.                                                                 printf("%lld\n",E);
  347.                                                                 C=0;
  348.                                                                 E=0;
  349.                                                         }
  350.                                                 }
  351.                                         }
  352.                                 }
  353.                         }
  354.                 }
  355.                 else if(B==0){
  356.                         for(i=2;i<=10;i++){
  357.                                 C=0;
  358.                                 D=A;
  359.                                 if(D%i==B){
  360.                                         if(D/i==0)
  361.                                                 printf("%d %lld\n",i,D);
  362.                                         else {
  363.                                                 for (k=0; D/i!=0 ; k++) {
  364.                                                         C=C+D%i*power(k,number);
  365.                                                         D=D/i;
  366.                                                         if(k>=17){
  367.                                                                 E=C;
  368.                                                                 if(E==0){
  369.                                                                         C=0;
  370.                                                                         k=-1;
  371.                                                                         for (k=0; D/i!=0 ; k++) {
  372.                                                                                 C=C+D%i*power(k,number);
  373.                                                                                 D=D/i;
  374.                                                                         }
  375.                                                                         C=C+D%i*power(k,number);
  376.                                                                         printf("%d ",i);
  377.                                                                         printf("%lld000000000000000000\n",C);
  378.                                                                         break;
  379.                                                                 }
  380.                                                                 C=0;
  381.                                                                 k=-1;
  382.                                                         }
  383.                                                 }
  384.                                                 C=C+D%i*power(k,number);
  385.                                                 if(E==0){
  386.                                                         if(C/100000%10==0&&C/10000%10==0&&C/1000%10==0&&C/100%10==0&&C/10%10==0&&C%10==0){
  387.                                                                 printf("%d ",i);
  388.                                                                 printf("%lld\n",C);
  389.                                                                 C=0;
  390.                                                                 E=0;
  391.                                                         }
  392.                                                 }
  393.                                                 else{
  394.                                                         if(E/100000%10==0&&E/10000%10==0&&E/1000%10==0&&E/100%10==0&&E/10%10==0&&E%10==0){
  395.                                                                 printf("%d %lld",i,C);
  396.                                                                 for(j=17;j>=0;j--){
  397.                                                                         if(E>=power(j,number)){
  398.                                                                                 for(l=17;l>j;l--){
  399.                                                                                         printf("0");
  400.                                                                                 }
  401.                                                                                 break;
  402.                                                                         }
  403.                                                                 }
  404.                                                                 printf("%lld\n",E);
  405.                                                                 C=0;
  406.                                                                 E=0;
  407.                                                         }
  408.                                                 }
  409.                                         }
  410.                                 }
  411.                         }
  412.                 }
  413.                 return 0;
  414.         }
  415.         long long int power(int k , long long int number){            
  416.                 int i;
  417.                 if(k==0)
  418.                         return number;
  419.                 for(i=1;i<=k;i++){
  420.                         number=number*10;        
  421.                 }
  422.                 return number;  
  423.         }

Raw Paste


Login or Register to edit or fork this paste. It's free.